title: Updating Node & NPM VS Cordova update 5
body: <p>I just download the VS Apache Cordova Tools Update 5 and I'm running into problems with Node and NPM. I am using the default blank cordova project for testing.</p>
  
  <p><strong>Versions</strong></p>
  
  <p>If I run a gulp check for Node and NPM within my VS Project I get: <code>Node version = v0.10.31</code> and  <code>NPM version = 1.4.9</code>.  However, I also have installed <code>Node version = v5.4.1</code> and <code>NPM version = 3.3.6</code></p>
  
  <p><strong>Problem</strong></p>
  
  <p>When I publish using Cordova CLI 5.3.3 I get the following error
  <a href="https://i.stack.imgur.com/AZkcd.png" rel="noreferrer"><img src="https://i.stack.imgur.com/AZkcd.png" alt="enter image description here"></a>
  When I change the Cordova CLI to 5.4.1 I get the following error:
  <a href="https://i.stack.imgur.com/ynY64.png" rel="noreferrer"><img src="https://i.stack.imgur.com/ynY64.png" alt="enter image description here"></a></p>
  
  <p>If I change the Tools > Options > Projects and Solutions > External Web Tools and add the path <code>C:\Program Files (x86)\nodejs</code> I get the following warning and an <code>npm install failed</code> error. </p>
  
  <pre><code>npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
  </code></pre>
  
  <p><strong>Other</strong></p>
  
  <p>If I select <code>use global installed version</code> I get 5.2.0.
  <a href="https://i.stack.imgur.com/77Dac.png" rel="noreferrer"><img src="https://i.stack.imgur.com/77Dac.png" alt="enter image description here"></a></p>
  
  <p>Any help is greatly appreciated!</p>
  
  <p>Download location and update info for VS Cordova Tools 5
  <a href="http://microsoft.github.io/vstacoblog/2016/01/13/annoucing-update-5.html" rel="noreferrer">http://microsoft.github.io/vstacoblog/2016/01/13/annoucing-update-5.html</a></p>
  
  <p>---------------------------Update 1/15/2015 4:50PMEST--------------------------</p>
  
  <p>Here's the build log when publishing blank cordova project with node = <code>5.4.1</code> using <code>node-v5.4.1-x86.msi</code>  and NPM = <code>3.5.3</code> installed using package.json.</p>
  
  <pre><code>1&gt;------ Build started: Project: BlankCordovaApp4, Configuration: Debug Android ------
  1&gt;  Your environment has been set up for using Node.js 5.4.1 (ia32) and npm.
  1&gt;  ------ Ensuring correct global installation of package from source package directory: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\APACHECORDOVATOOLS\packages\vs-tac
  1&gt;  ------ Name from source package.json: vs-tac
  1&gt;  ------ Version from source package.json: 1.0.28
  1&gt;  ------ Package already installed globally at correct version.
  1&gt;  ------ Installing Cordova tools cordova@5.4.1 for project from npm. This could take a few minutes...
  1&gt;  Each package is licensed to you by its owner. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may include dependencies which are governed by additional licenses. Follow the package source (feed) URL to determine any dependencies.
  1&gt;  npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
  1&gt;  npm ERR! Windows_NT 6.3.9600
  1&gt;  npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\DBiele\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "cordova@5.4.1" "--loglevel" "warn"
  1&gt;  npm ERR! node v5.4.1
  1&gt;  npm ERR! npm  v3.3.6
  1&gt;
  1&gt;  npm ERR! Cannot read property 'localeCompare' of undefined
  1&gt;  npm ERR!
  1&gt;MDAVSCLI : npm ERR! If you need help, you may report this error at:
  1&gt;  npm ERR!     &lt;https://github.com/npm/npm/issues&gt;
  1&gt;
  1&gt;  npm ERR! Please include the following file with any support request:
  1&gt;  npm ERR!     C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\node_modules\cordova\5.4.1\npm-debug.log
  1&gt;  [Error: ------ npm install failed. Exit code: 1]
  1&gt;  C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\node_modules\q\q.js:126
  1&gt;                      throw e;
  1&gt;                      ^
  1&gt;
  1&gt;MDAVSCLI : error : ------ npm install failed. Exit code: 1
  1&gt;      at ChildProcess.&lt;anonymous&gt; (C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\lib\util.js:655:29)
  1&gt;      at emitTwo (events.js:87:13)
  1&gt;      at ChildProcess.emit (events.js:172:7)
  1&gt;      at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
  </code></pre>
  
  <p>Here's another build log after removing <code>NPM 3.5.3</code> , <code>clearing cordova cache</code> and <code>npm cache clean</code></p>
  
  <pre><code>1&gt;------ Build started: Project: BlankCordovaApp4, Configuration: Debug Android ------
  1&gt;  Your environment has been set up for using Node.js 5.4.1 (ia32) and npm.
  1&gt;  ------ Ensuring correct global installation of package from source package directory: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\APACHECORDOVATOOLS\packages\vs-tac
  1&gt;  ------ Name from source package.json: vs-tac
  1&gt;  ------ Version from source package.json: 1.0.28
  1&gt;  ------ Package not currently installed globally.
  1&gt;  ------ Installing globally from source package. This could take a few minutes...
  1&gt;  Each package is licensed to you by its owner. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may include dependencies which are governed by additional licenses. Follow the package source (feed) URL to determine any dependencies.
  1&gt;  npm WARN deprecated npmconf@0.1.16: this package has been reintegrated into npm and is now out of date with respect to npm
  1&gt;  npm WARN engine npm@1.3.4: wanted: {"node":"&gt;=0.6","npm":"1"} (current: {"node":"5.4.1","npm":"3.3.6"})
  1&gt;  C:\Users\DBiele\AppData\Roaming\npm\vs-tac-cli -&gt; C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\vs-tac-cli.cmd
  1&gt;  &gt; edge@4.0.0 install C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\node_modules\edge
  1&gt;  &gt; node tools/install.js
  1&gt;  ***************************************
  1&gt;  [Error: The edge module has not been pre-compiled for node.js version v5.4.1. You must build a custom version of edge.node. Please refer to https://github.com/tjanczuk/edge for building instructions.]
  1&gt;  ***************************************
  1&gt;  Success: platform check for edge.js: node.js ia32 v5.4.1
  1&gt;  C:\Users\DBiele\AppData\Roaming\npm
  1&gt;  └─┬ vs-tac@1.0.28
  1&gt;    ├── adm-zip@0.4.4
  1&gt;    ├─┬ edge@4.0.0
  1&gt;    │ ├── edge-cs@0.2.7
  1&gt;    │ └── nan@2.2.0
  1&gt;    ├─┬ elementtree@0.1.6
  1&gt;    │ └── sax@0.3.5
  1&gt;    ├─┬ fstream@0.1.28
  1&gt;    │ ├── graceful-fs@3.0.8
  1&gt;    │ └── inherits@2.0.1
  1&gt;    ├── mkdirp@0.3.5
  1&gt;    ├── ncp@0.5.1
  1&gt;    ├─┬ optimist@0.6.1
  1&gt;    │ ├── minimist@0.0.10
  1&gt;    │ └── wordwrap@0.0.3
  1&gt;    ├─┬ plugman@0.22.4
  1&gt;    │ ├─┬ cordova-lib@0.21.6
  1&gt;    │ │ ├── bplist-parser@0.0.5
  1&gt;    │ │ ├─┬ cordova-js@3.6.2
  1&gt;    │ │ │ ├─┬ browserify@3.46.0
  1&gt;    │ │ │ │ ├─┬ assert@1.1.1
  1&gt;    │ │ │ │ │ └── util@0.10.2
  1&gt;    │ │ │ │ ├─┬ browser-pack@2.0.1
  1&gt;    │ │ │ │ │ ├─┬ combine-source-map@0.3.0
  1&gt;    │ │ │ │ │ │ ├── convert-source-map@0.3.4
  1&gt;    │ │ │ │ │ │ ├── inline-source-map@0.3.0
  1&gt;    │ │ │ │ │ │ └─┬ source-map@0.1.34
  1&gt;    │ │ │ │ │ │   └── amdefine@0.1.0
  1&gt;    │ │ │ │ │ └─┬ JSONStream@0.6.4
  1&gt;    │ │ │ │ │   ├── jsonparse@0.0.5
  1&gt;    │ │ │ │ │   └── through@2.2.7
  1&gt;    │ │ │ │ ├── browser-resolve@1.2.4
  1&gt;    │ │ │ │ ├─┬ browserify-zlib@0.1.4
  1&gt;    │ │ │ │ │ └── pako@0.2.3
  1&gt;    │ │ │ │ ├─┬ buffer@2.1.13
  1&gt;    │ │ │ │ │ ├── base64-js@0.0.7
  1&gt;    │ │ │ │ │ └── ieee754@1.1.3
  1&gt;    │ │ │ │ ├── builtins@0.0.4
  1&gt;    │ │ │ │ ├── commondir@0.0.1
  1&gt;    │ │ │ │ ├─┬ concat-stream@1.4.6
  1&gt;    │ │ │ │ │ ├─┬ readable-stream@1.1.13-1
  1&gt;    │ │ │ │ │ │ ├── core-util-is@1.0.1
  1&gt;    │ │ │ │ │ │ ├── isarray@0.0.1
  1&gt;    │ │ │ │ │ │ └── string_decoder@0.10.25-1
  1&gt;    │ │ │ │ │ └── typedarray@0.0.6
  1&gt;    │ │ │ │ ├── console-browserify@1.0.3
  1&gt;    │ │ │ │ ├── constants-browserify@0.0.1
  1&gt;    │ │ │ │ ├── crypto-browserify@1.0.9
  1&gt;    │ │ │ │ ├── deep-equal@0.1.2
  1&gt;    │ │ │ │ ├── defined@0.0.0
  1&gt;    │ │ │ │ ├─┬ deps-sort@0.1.2
  1&gt;    │ │ │ │ │ ├─┬ JSONStream@0.6.4
  1&gt;    │ │ │ │ │ │ ├── jsonparse@0.0.5
  1&gt;    │ │ │ │ │ │ └── through@2.2.7
  1&gt;    │ │ │ │ │ └── minimist@0.0.10
  1&gt;    │ │ │ │ ├─┬ derequire@0.8.0
  1&gt;    │ │ │ │ │ ├── esprima-fb@3001.1.0-dev-harmony-fb
  1&gt;    │ │ │ │ │ ├─┬ esrefactor@0.1.0
  1&gt;    │ │ │ │ │ │ ├── escope@0.0.16
  1&gt;    │ │ │ │ │ │ ├── esprima@1.0.4
  1&gt;    │ │ │ │ │ │ └── estraverse@0.0.4
  1&gt;    │ │ │ │ │ └── estraverse@1.5.0
  1&gt;    │ │ │ │ ├── domain-browser@1.1.2
  1&gt;    │ │ │ │ ├── duplexer@0.1.1
  1&gt;    │ │ │ │ ├── events@1.0.1
  1&gt;    │ │ │ │ ├─┬ glob@3.2.11
  1&gt;    │ │ │ │ │ └─┬ minimatch@0.3.0
  1&gt;    │ │ │ │ │   ├── lru-cache@2.5.0
  1&gt;    │ │ │ │ │   └── sigmund@1.0.0
  1&gt;    │ │ │ │ ├─┬ http-browserify@1.3.2
  1&gt;    │ │ │ │ │ └── Base64@0.2.1
  1&gt;    │ │ │ │ ├── https-browserify@0.0.0
  1&gt;    │ │ │ │ ├── inherits@2.0.1
  1&gt;    │ │ │ │ ├─┬ insert-module-globals@5.0.1
  1&gt;    │ │ │ │ │ ├─┬ lexical-scope@1.1.0
  1&gt;    │ │ │ │ │ │ └─┬ astw@1.1.0
  1&gt;    │ │ │ │ │ │   └── esprima-fb@3001.1.0-dev-harmony-fb
  1&gt;    │ │ │ │ │ └── process@0.6.0
  1&gt;    │ │ │ │ ├─┬ JSONStream@0.7.4
  1&gt;    │ │ │ │ │ └── jsonparse@0.0.5
  1&gt;    │ │ │ │ ├─┬ module-deps@1.10.0
  1&gt;    │ │ │ │ │ ├─┬ detective@3.1.0
  1&gt;    │ │ │ │ │ │ ├─┬ escodegen@1.1.0
  1&gt;    │ │ │ │ │ │ │ ├── esprima@1.0.4
  1&gt;    │ │ │ │ │ │ │ ├── estraverse@1.5.0
  1&gt;    │ │ │ │ │ │ │ ├── esutils@1.0.0
  1&gt;    │ │ │ │ │ │ │ └─┬ source-map@0.1.34
  1&gt;    │ │ │ │ │ │ │   └── amdefine@0.1.0
  1&gt;    │ │ │ │ │ │ └── esprima-fb@3001.1.0-dev-harmony-fb
  1&gt;    │ │ │ │ │ └── minimist@0.0.10
  1&gt;    │ │ │ │ ├── os-browserify@0.1.2
  1&gt;    │ │ │ │ ├── parents@0.0.2
  1&gt;    │ │ │ │ ├── path-browserify@0.0.0
  1&gt;    │ │ │ │ ├── punycode@1.2.4
  1&gt;    │ │ │ │ ├── querystring-es3@0.2.0
  1&gt;    │ │ │ │ ├── resolve@0.6.3
  1&gt;    │ │ │ │ ├── shallow-copy@0.0.1
  1&gt;    │ │ │ │ ├── shell-quote@0.0.1
  1&gt;    │ │ │ │ ├─┬ stream-browserify@0.1.3
  1&gt;    │ │ │ │ │ └── process@0.5.2
  1&gt;    │ │ │ │ ├── stream-combiner@0.0.4
  1&gt;    │ │ │ │ ├── string_decoder@0.0.1
  1&gt;    │ │ │ │ ├─┬ subarg@0.0.1
  1&gt;    │ │ │ │ │ └── minimist@0.0.10
  1&gt;    │ │ │ │ ├─┬ syntax-error@1.1.0
  1&gt;    │ │ │ │ │ └── esprima-fb@3001.1.0-dev-harmony-fb
  1&gt;    │ │ │ │ ├─┬ through2@0.4.2
  1&gt;    │ │ │ │ │ ├─┬ readable-stream@1.0.27-1
  1&gt;    │ │ │ │ │ │ ├── core-util-is@1.0.1
  1&gt;    │ │ │ │ │ │ ├── isarray@0.0.1
  1&gt;    │ │ │ │ │ │ └── string_decoder@0.10.25-1
  1&gt;    │ │ │ │ │ └─┬ xtend@2.1.2
  1&gt;    │ │ │ │ │   └── object-keys@0.4.0
  1&gt;    │ │ │ │ ├─┬ timers-browserify@1.0.1
  1&gt;    │ │ │ │ │ └── process@0.5.2
  1&gt;    │ │ │ │ ├── tty-browserify@0.0.0
  1&gt;    │ │ │ │ ├─┬ umd@2.0.0
  1&gt;    │ │ │ │ │ ├─┬ rfile@1.0.0
  1&gt;    │ │ │ │ │ │ ├── callsite@1.0.0
  1&gt;    │ │ │ │ │ │ └── resolve@0.3.1
  1&gt;    │ │ │ │ │ └─┬ ruglify@1.0.0
  1&gt;    │ │ │ │ │   └─┬ uglify-js@2.2.5
  1&gt;    │ │ │ │ │     ├─┬ optimist@0.3.7
  1&gt;    │ │ │ │ │     │ └── wordwrap@0.0.2
  1&gt;    │ │ │ │ │     └─┬ source-map@0.1.34
  1&gt;    │ │ │ │ │       └── amdefine@0.1.0
  1&gt;    │ │ │ │ ├── url@0.10.1
  1&gt;    │ │ │ │ ├── util@0.10.3
  1&gt;    │ │ │ │ └─┬ vm-browserify@0.0.4
  1&gt;    │ │ │ │   └── indexof@0.0.1
  1&gt;    │ │ │ ├── through@2.3.4
  1&gt;    │ │ │ └─┬ uglify-js@2.4.14
  1&gt;    │ │ │   ├── async@0.2.10
  1&gt;    │ │ │   ├─┬ optimist@0.3.7
  1&gt;    │ │ │   │ └── wordwrap@0.0.2
  1&gt;    │ │ │   ├─┬ source-map@0.1.34
  1&gt;    │ │ │   │ └── amdefine@0.1.0
  1&gt;    │ │ │   └── uglify-to-browserify@1.0.2
  1&gt;    │ │ ├─┬ dep-graph@1.1.0
  1&gt;    │ │ │ └── underscore@1.2.1
  1&gt;    │ │ ├─┬ elementtree@0.1.5
  1&gt;    │ │ │ └── sax@0.3.5
  1&gt;    │ │ ├─┬ glob@3.2.11
  1&gt;    │ │ │ ├── inherits@2.0.1
  1&gt;    │ │ │ └─┬ minimatch@0.3.0
  1&gt;    │ │ │   ├── lru-cache@2.5.0
  1&gt;    │ │ │   └── sigmund@1.0.0
  1&gt;    │ │ ├── mime@1.2.11
  1&gt;    │ │ ├─┬ npm@1.3.4
  1&gt;    │ │ │ ├── ini@1.1.0
  1&gt;    │ │ │ ├─┬ minimatch@0.2.12
  1&gt;    │ │ │ │ └── sigmund@1.0.0
  1&gt;    │ │ │ ├── mkdirp@0.3.5
  1&gt;    │ │ │ ├── osenv@0.0.3
  1&gt;    │ │ │ └─┬ request@2.21.0
  1&gt;    │ │ │   ├── aws-sign@0.3.0
  1&gt;    │ │ │   ├── cookie-jar@0.3.0
  1&gt;    │ │ │   ├─┬ form-data@0.0.8
  1&gt;    │ │ │   │ └─┬ combined-stream@0.0.4
  1&gt;    │ │ │   │   └── delayed-stream@0.0.5
  1&gt;    │ │ │   ├─┬ hawk@0.13.1
  1&gt;    │ │ │   │ ├─┬ boom@0.4.2
  1&gt;    │ │ │   │ │ └── hoek@0.9.1
  1&gt;    │ │ │   │ ├── hoek@0.8.5
  1&gt;    │ │ │   │ └─┬ sntp@0.2.4
  1&gt;    │ │ │   │   └── hoek@0.9.1
  1&gt;    │ │ │   ├─┬ http-signature@0.9.11
  1&gt;    │ │ │   │ ├── asn1@0.1.11
  1&gt;    │ │ │   │ ├── assert-plus@0.1.2
  1&gt;    │ │ │   │ └── ctype@0.5.2
  1&gt;    │ │ │   ├── json-stringify-safe@4.0.0
  1&gt;    │ │ │   ├── oauth-sign@0.3.0
  1&gt;    │ │ │   └── tunnel-agent@0.3.0
  1&gt;    │ │ ├─┬ npmconf@0.1.16
  1&gt;    │ │ │ ├─┬ config-chain@1.1.8
  1&gt;    │ │ │ │ └── proto-list@1.2.3
  1&gt;    │ │ │ ├── inherits@2.0.1
  1&gt;    │ │ │ ├── ini@1.1.0
  1&gt;    │ │ │ ├── mkdirp@0.3.5
  1&gt;    │ │ │ ├─┬ nopt@2.2.1
  1&gt;    │ │ │ │ └── abbrev@1.0.5
  1&gt;    │ │ │ └── once@1.3.0
  1&gt;    │ │ ├── osenv@0.0.3
  1&gt;    │ │ ├─┬ plist-with-patches@0.5.1
  1&gt;    │ │ │ ├── xmlbuilder@0.4.3
  1&gt;    │ │ │ └── xmldom@0.1.19
  1&gt;    │ │ ├── properties-parser@0.2.3
  1&gt;    │ │ ├── q@0.9.7
  1&gt;    │ │ ├─┬ rc@0.3.0
  1&gt;    │ │ │ ├── deep-extend@0.2.10
  1&gt;    │ │ │ ├── ini@1.1.0
  1&gt;    │ │ │ └─┬ optimist@0.3.7
  1&gt;    │ │ │   └── wordwrap@0.0.2
  1&gt;    │ │ ├─┬ request@2.22.0
  1&gt;    │ │ │ ├── aws-sign@0.3.0
  1&gt;    │ │ │ ├── cookie-jar@0.3.0
  1&gt;    │ │ │ ├── forever-agent@0.5.2
  1&gt;    │ │ │ ├─┬ form-data@0.0.8
  1&gt;    │ │ │ │ ├── async@0.2.10
  1&gt;    │ │ │ │ └─┬ combined-stream@0.0.4
  1&gt;    │ │ │ │   └── delayed-stream@0.0.5
  1&gt;    │ │ │ ├─┬ hawk@0.13.1
  1&gt;    │ │ │ │ ├─┬ boom@0.4.2
  1&gt;    │ │ │ │ │ └── hoek@0.9.1
  1&gt;    │ │ │ │ ├── cryptiles@0.2.2
  1&gt;    │ │ │ │ ├── hoek@0.8.5
  1&gt;    │ │ │ │ └─┬ sntp@0.2.4
  1&gt;    │ │ │ │   └── hoek@0.9.1
  1&gt;    │ │ │ ├─┬ http-signature@0.10.0
  1&gt;    │ │ │ │ ├── asn1@0.1.11
  1&gt;    │ │ │ │ ├── assert-plus@0.1.2
  1&gt;    │ │ │ │ └── ctype@0.5.2
  1&gt;    │ │ │ ├── json-stringify-safe@4.0.0
  1&gt;    │ │ │ ├── node-uuid@1.4.1
  1&gt;    │ │ │ ├── oauth-sign@0.3.0
  1&gt;    │ │ │ ├── qs@0.6.6
  1&gt;    │ │ │ └── tunnel-agent@0.3.0
  1&gt;    │ │ ├── semver@2.0.11
  1&gt;    │ │ ├── shelljs@0.1.4
  1&gt;    │ │ ├─┬ tar@0.1.19
  1&gt;    │ │ │ ├── block-stream@0.0.7
  1&gt;    │ │ │ ├─┬ fstream@0.1.27
  1&gt;    │ │ │ │ ├── graceful-fs@3.0.2
  1&gt;    │ │ │ │ ├── mkdirp@0.3.5
  1&gt;    │ │ │ │ └── rimraf@2.2.8
  1&gt;    │ │ │ └── inherits@2.0.1
  1&gt;    │ │ ├── underscore@1.4.4
  1&gt;    │ │ └─┬ xcode@0.6.6
  1&gt;    │ │   ├── node-uuid@1.3.3
  1&gt;    │ │   └── pegjs@0.6.2
  1&gt;    │ ├─┬ nopt@1.0.10
  1&gt;    │ │ └── abbrev@1.0.7
  1&gt;    │ ├─┬ npm@1.3.4
  1&gt;    │ │ ├─┬ cmd-shim@1.1.0
  1&gt;    │ │ │ └── graceful-fs@1.2.3
  1&gt;    │ │ ├── ini@1.1.0
  1&gt;    │ │ ├─┬ minimatch@0.2.12
  1&gt;    │ │ │ └── sigmund@1.0.0
  1&gt;    │ │ ├── mkdirp@0.3.5
  1&gt;    │ │ ├── osenv@0.0.3
  1&gt;    │ │ ├─┬ read-installed@0.2.2
  1&gt;    │ │ │ └── graceful-fs@1.2.3
  1&gt;    │ │ ├─┬ read-package-json@1.1.0
  1&gt;    │ │ │ └── graceful-fs@1.2.3
  1&gt;    │ │ ├─┬ request@2.21.0
  1&gt;    │ │ │ ├── aws-sign@0.3.0
  1&gt;    │ │ │ ├── cookie-jar@0.3.0
  1&gt;    │ │ │ ├─┬ form-data@0.0.8
  1&gt;    │ │ │ │ └─┬ combined-stream@0.0.4
  1&gt;    │ │ │ │   └── delayed-stream@0.0.5
  1&gt;    │ │ │ ├─┬ hawk@0.13.1
  1&gt;    │ │ │ │ ├─┬ boom@0.4.2
  1&gt;    │ │ │ │ │ └── hoek@0.9.1
  1&gt;    │ │ │ │ ├── hoek@0.8.5
  1&gt;    │ │ │ │ └─┬ sntp@0.2.4
  1&gt;    │ │ │ │   └── hoek@0.9.1
  1&gt;    │ │ │ ├─┬ http-signature@0.9.11
  1&gt;    │ │ │ │ ├── asn1@0.1.11
  1&gt;    │ │ │ │ ├── assert-plus@0.1.2
  1&gt;    │ │ │ │ └── ctype@0.5.2
  1&gt;    │ │ │ ├── json-stringify-safe@4.0.0
  1&gt;    │ │ │ ├── oauth-sign@0.3.0
  1&gt;    │ │ │ └── tunnel-agent@0.3.0
  1&gt;    │ │ ├─┬ rimraf@2.2.0
  1&gt;    │ │ │ └── graceful-fs@1.2.3
  1&gt;    │ │ └─┬ sha@1.0.1
  1&gt;    │ │   └── graceful-fs@1.2.3
  1&gt;    │ ├── q@0.9.7
  1&gt;    │ ├─┬ rc@0.3.0
  1&gt;    │ │ ├── deep-extend@0.2.11
  1&gt;    │ │ ├── ini@1.1.0
  1&gt;    │ │ └── optimist@0.3.7
  1&gt;    │ └── underscore@1.4.4
  1&gt;    ├── q@1.0.1
  1&gt;    ├─┬ request@2.36.0
  1&gt;    │ ├── aws-sign2@0.5.0
  1&gt;    │ ├── forever-agent@0.5.2
  1&gt;    │ ├─┬ form-data@0.1.4
  1&gt;    │ │ ├── async@0.9.2
  1&gt;    │ │ └─┬ combined-stream@0.0.7
  1&gt;    │ │   └── delayed-stream@0.0.5
  1&gt;    │ ├─┬ hawk@1.0.0
  1&gt;    │ │ ├── boom@0.4.2
  1&gt;    │ │ ├── cryptiles@0.2.2
  1&gt;    │ │ ├── hoek@0.9.1
  1&gt;    │ │ └── sntp@0.2.4
  1&gt;    │ ├─┬ http-signature@0.10.1
  1&gt;    │ │ ├── asn1@0.1.11
  1&gt;    │ │ ├── assert-plus@0.1.5
  1&gt;    │ │ └── ctype@0.5.3
  1&gt;    │ ├── json-stringify-safe@5.0.1
  1&gt;    │ ├── mime@1.2.11
  1&gt;    │ ├── node-uuid@1.4.7
  1&gt;    │ ├── oauth-sign@0.3.0
  1&gt;    │ ├── qs@0.6.6
  1&gt;    │ ├── tough-cookie@2.2.1
  1&gt;    │ └── tunnel-agent@0.4.2
  1&gt;    ├── rimraf@2.2.6
  1&gt;    ├─┬ ripple-emulator@0.9.32
  1&gt;    │ ├── accounting@0.4.1
  1&gt;    │ ├── colors@0.6.0-1
  1&gt;    │ ├── connect-xcors@0.5.2
  1&gt;    │ ├─┬ express@3.1.0
  1&gt;    │ │ ├── buffer-crc32@0.1.1
  1&gt;    │ │ ├── commander@0.6.1
  1&gt;    │ │ ├─┬ connect@2.7.2
  1&gt;    │ │ │ ├── bytes@0.1.0
  1&gt;    │ │ │ ├── formidable@1.0.11
  1&gt;    │ │ │ ├── pause@0.0.1
  1&gt;    │ │ │ └── qs@0.5.1
  1&gt;    │ │ ├── cookie@0.0.5
  1&gt;    │ │ ├── cookie-signature@0.0.1
  1&gt;    │ │ ├─┬ debug@2.2.0
  1&gt;    │ │ │ └── ms@0.7.1
  1&gt;    │ │ ├── fresh@0.1.0
  1&gt;    │ │ ├── methods@0.0.1
  1&gt;    │ │ ├── mkdirp@0.3.3
  1&gt;    │ │ ├── range-parser@0.0.4
  1&gt;    │ │ └─┬ send@0.1.0
  1&gt;    │ │   └── mime@1.2.6
  1&gt;    │ ├── moment@1.7.2
  1&gt;    │ ├── open@0.0.3
  1&gt;    │ └─┬ request@2.12.0
  1&gt;    │   └─┬ form-data@0.0.3
  1&gt;    │     └─┬ combined-stream@0.0.3
  1&gt;    │       └── delayed-stream@0.0.5
  1&gt;    ├── semver@2.3.1
  1&gt;    └─┬ tar@0.1.20
  1&gt;      └── block-stream@0.0.8
  1&gt;  ------ npm install of vs-tac@1.0.28 from C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\APACHECORDOVATOOLS\packages\vs-tac completed.
  1&gt;  ------ Installing Cordova tools cordova@5.4.1 for project from npm. This could take a few minutes...
  1&gt;  Each package is licensed to you by its owner. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may include dependencies which are governed by additional licenses. Follow the package source (feed) URL to determine any dependencies.
  1&gt;  npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
  1&gt;  npm ERR! Windows_NT 6.3.9600
  1&gt;  npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\DBiele\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "cordova@5.4.1" "--loglevel" "warn"
  1&gt;  npm ERR! node v5.4.1
  1&gt;  npm ERR! npm  v3.3.6
  1&gt;
  1&gt;  npm ERR! Cannot read property 'localeCompare' of undefined
  1&gt;  npm ERR!
  1&gt;MDAVSCLI : npm ERR! If you need help, you may report this error at:
  1&gt;  npm ERR!     &lt;https://github.com/npm/npm/issues&gt;
  1&gt;
  1&gt;  npm ERR! Please include the following file with any support request:
  1&gt;  npm ERR!     C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\node_modules\cordova\5.4.1\npm-debug.log
  1&gt;  [Error: ------ npm install failed. Exit code: 1]
  1&gt;  C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\node_modules\q\q.js:126
  1&gt;                      throw e;
  1&gt;                      ^
  1&gt;
  1&gt;MDAVSCLI : error : ------ npm install failed. Exit code: 1
  1&gt;      at ChildProcess.&lt;anonymous&gt; (C:\Users\DBiele\AppData\Roaming\npm\node_modules\vs-tac\lib\util.js:655:29)
  1&gt;      at emitTwo (events.js:87:13)
  1&gt;      at ChildProcess.emit (events.js:172:7)
  1&gt;      at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
  ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  ========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========
  
  ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  ========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========
  </code></pre>
  
  <p>When I use powershell or cmd to install cordova <code>npm install -g cordova</code> I get the following error</p>
  
  <pre><code>C:\Users\DBiele&gt;npm install -g cordova
  npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm a
  nd is now out of date with respect to npm
  npm WARN install:isarray ENOENT: no such file or directory, rename 'C:\Users\DBi
  ele\AppData\Roaming\npm\node_modules\cordova\node_modules\buffer\node_modules\is
  array' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules
  \buffer\node_modules\isarray'
  npm WARN install:negotiator ENOENT: no such file or directory, rename 'C:\Users\
  DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\express\node_module
  s\negotiator' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_
  modules\express\node_modules\negotiator'
  npm WARN install:vary ENOENT: no such file or directory, rename 'C:\Users\DBiele
  \AppData\Roaming\npm\node_modules\cordova\node_modules\express\node_modules\vary
  ' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\expr
  ess\node_modules\vary'
  npm WARN install:object-assign ENOENT: no such file or directory, rename 'C:\Use
  rs\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\got\node_modules
  \object-assign' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\nod
  e_modules\got\node_modules\object-assign'
  npm WARN install:convert-source-map ENOENT: no such file or directory, rename 'C
  :\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\insert-modu
  le-globals\node_modules\convert-source-map' -&gt; 'C:\Users\DBiele\AppData\Roaming\
  npm\node_modules\cordova\node_modules\insert-module-globals\node_modules\convert
  -source-map'
  npm WARN install:graceful-fs ENOENT: no such file or directory, rename 'C:\Users
  \DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\write-file-atomic\
  node_modules\graceful-fs' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\c
  ordova\node_modules\read-package-json\node_modules\graceful-fs'
  npm WARN install:deep-extend ENOENT: no such file or directory, rename 'C:\Users
  \DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\registry-url\node_
  modules\deep-extend' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordov
  a\node_modules\registry-url\node_modules\deep-extend'
  npm WARN install:strip-json-comments ENOENT: no such file or directory, rename '
  C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\registry-u
  rl\node_modules\strip-json-comments' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\nod
  e_modules\cordova\node_modules\registry-url\node_modules\strip-json-comments'
  npm WARN install:mime-types ENOENT: no such file or directory, rename 'C:\Users\
  DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\request\node_module
  s\mime-types' -&gt; 'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_
  modules\request\node_modules\mime-types'
  npm WARN install:qs ENOENT: no such file or directory, rename 'C:\Users\DBiele\A
  ppData\Roaming\npm\node_modules\cordova\node_modules\request\node_modules\qs' -&gt;
   'C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\request\
  node_modules\qs'
  isarray@1.0.0 node_modules\cordova\node_modules\buffer\node_modules\isarray -&gt; n
  ode_modules\cordova\node_modules\buffer\node_modules\isarray
  negotiator@0.5.3 node_modules\cordova\node_modules\express\node_modules\negotiat
  or -&gt; node_modules\cordova\node_modules\express\node_modules\negotiator
  accepts@1.2.13 node_modules\cordova\node_modules\express\node_modules\accepts -&gt;
   node_modules\cordova\node_modules\express\node_modules\accepts
  vary@1.0.1 node_modules\cordova\node_modules\express\node_modules\vary -&gt; node_m
  odules\cordova\node_modules\express\node_modules\vary
  object-assign@3.0.0 node_modules\cordova\node_modules\got\node_modules\object-as
  sign -&gt; node_modules\cordova\node_modules\got\node_modules\object-assign
  convert-source-map@1.1.3 node_modules\cordova\node_modules\insert-module-globals
  \node_modules\convert-source-map -&gt; node_modules\cordova\node_modules\insert-mod
  ule-globals\node_modules\convert-source-map
  graceful-fs@4.1.2 node_modules\cordova\node_modules\write-file-atomic\node_modul
  es\graceful-fs -&gt; node_modules\cordova\node_modules\read-package-json\node_modul
  es\graceful-fs
  deep-extend@0.4.0 node_modules\cordova\node_modules\registry-url\node_modules\de
  ep-extend -&gt; node_modules\cordova\node_modules\registry-url\node_modules\deep-ex
  tend
  strip-json-comments@1.0.4 node_modules\cordova\node_modules\registry-url\node_mo
  dules\strip-json-comments -&gt; node_modules\cordova\node_modules\registry-url\node
  _modules\strip-json-comments
  mime-types@1.0.2 node_modules\cordova\node_modules\request\node_modules\mime-typ
  es -&gt; node_modules\cordova\node_modules\request\node_modules\mime-types
  qs@2.3.3 node_modules\cordova\node_modules\request\node_modules\qs -&gt; node_modul
  es\cordova\node_modules\request\node_modules\qs
  readable-stream@1.0.33 node_modules\cordova\node_modules\cordova-lib\node_module
  s\request\node_modules\bl\node_modules\readable-stream -&gt; node_modules\cordova\n
  ode_modules\browser-pack\node_modules\readable-stream
  bl@0.9.4 node_modules\cordova\node_modules\cordova-lib\node_modules\request\node
  _modules\bl -&gt; node_modules\cordova\node_modules\bl
  request@2.47.0 node_modules\cordova\node_modules\cordova-lib\node_modules\reques
  t -&gt; node_modules\cordova\node_modules\request
  npmconf@2.1.2 node_modules\cordova\node_modules\cordova-lib\node_modules\npmconf
   -&gt; node_modules\cordova\node_modules\npmconf
  glob@4.0.6 node_modules\cordova\node_modules\cordova-lib\node_modules\glob -&gt; no
  de_modules\cordova\node_modules\glob
  tar@1.0.2 node_modules\cordova\node_modules\cordova-lib\node_modules\tar -&gt; node
  _modules\cordova\node_modules\tar
  - C:\Users\DBiele\AppData\Roaming\npm\node_modules\cordova\node_modules\write-fi
  le-atomic node_modules\cordova\node_modules\write-file-atomic
  C:\Users\DBiele\AppData\Roaming\npm
  └── (empty)
  
  npm ERR! code 1
  </code></pre>
  
  <p>-------------------------------Update 2 1/15/2016------------------------
  It now appears to be working!  I used Michael Braude's comment to <code>npm -g install npm</code> and it works.  </p>
  
  <p>However, before the fix I did the following: </p>
  
  <ol>
  <li>removed Node using <code>add and remove programs</code></li>
  <li>removed NPM by deleting the NPM folder in roaming.  </li>
  <li>Repaired VS2015</li>
  </ol>
  
  <p>After using <code>npm -g install npm</code> I updated <code>node</code> to <code>5.4.1 - 64 bit</code>, I also checked to make sure NPM 3.5.4 worked and used <code>npm -g install npm@3.5.4</code> and it worked.  </p>
  
  <p>In addition, I changed the sandboxed (I think?) version of Node and NPM by adding <code>C:\Program Files (x86)\nodejs</code> to Tools > Options > Projects and Solutions > External Web Tools <a href="https://i.stack.imgur.com/04tjv.png" rel="noreferrer"><img src="https://i.stack.imgur.com/04tjv.png" alt="enter image description here"></a></p>
  
  <p>I am now able to run my gulp task using <code>Task Runner Explorer</code> without getting errors.  Crossing fingers that it continues to work!</p>