Unable to install particle-cli

I am unable to isntall particle-cli, getting the following errors:

C:\Users\sm\AppData\Roaming\npm\serialportlist -> C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\bin\serialportList.js
C:\Users\sm\AppData\Roaming\npm\serialportterm -> C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\bin\serialportTerminal.js

> serialport@2.0.1 install C:\Users\sm\AppData\Roaming\npm\node_modules\serialport
> node-pre-gyp install --fallback-to-build


C:\Users\sm\AppData\Roaming\npm\node_modules\serialport>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild --name=serialport --configuration=Release --module_name=serialport --version=2.0.1 --major=2 --patch=1 --runtime=node --node_abi=node-v46 --platform=win32 --target_platform=win32 --arch=x64 --target_arch=x64 --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport\v2.0.1\Release\node-v46-win32-x64 --remote_path=./serialport/v2.0.1/Release/ --package_name=node-v46-win32-x64.tar.gz --staged_tarball=build\stage\serialport\v2.0.1\Release\node-v46-win32-x64.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/node-v46-win32-x64.tar.gz )  else (node  rebuild --name=serialport --configuration=Release --module_name=serialport --version=2.0.1 --major=2 --patch=1 --runtime=node --node_abi=node-v46 --platform=win32 --target_platform=win32 --arch=x64 --target_arch=x64 --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport\v2.0.1\Release\node-v46-win32-x64 --remote_path=./serialport/v2.0.1/Release/ --package_name=node-v46-win32-x64.tar.gz --staged_tarball=build\stage\serialport\v2.0.1\Release\node-v46-win32-x64.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/node-v46-win32-x64.tar.gz ) 
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  serialport.cpp
  serialport_win.cpp
  enumser.cpp
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(336): error C2988: unrecognizable template declaration/definition [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(336): error C2059: syntax error : 'using' [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(469): error C2988: unrecognizable template declaration/definition [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(469): error C2059: syntax error : 'using' [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(472): error C2332: 'enum' : missing tag name [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(472): error C3306: 'v8::<unnamed-tag>': unnamed class template is not allowed [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(472): error C2236: unexpected 'class' 'v8::WeakCallbackType'. Did you forget a ';'? [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(472): error C3381: 'v8::WeakCallbackType' : assembly access specifiers are only available in code compiled with a /clr option [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(576): error C2061: syntax error : identifier 'WeakCallbackType' [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
          c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(642) : see reference to class template instantiation 'v8::PersistentBase<T>' being compiled
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(637): error C2253: 'PersistentBase<T>' : pure specifier or abstract override specifier only allowed on virtual function [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(844): error C2253: 'Global<T>' : pure specifier or abstract override specifier only allowed on virtual function [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
          c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(847) : see reference to class template instantiation 'v8::Global<T>' being compiled
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(852): error C2988: unrecognizable template declaration/definition [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(852): error C2059: syntax error : 'using' [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(915): error C2989: 'v8::HandleScope' : class template has already been declared as a non-class template [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
          c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(319) : see declaration of 'v8::HandleScope'
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(949): error C2989: 'v8::EscapableHandleScope' : class template has already been declared as a non-class template [C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport.vcxproj]
          c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(135) : see declaration of 'v8::EscapableHandleScope'
c:\users\sm\.node-gyp\4.2.1\include\node\v8.h(979): error C2989: 'v8::Data' : class template has already been declared as a non-class template 

(this continues......)

Failed to execute 'node-gyp.cmd rebuild --name=serialport --configuration=Release --module_name=serialport --version=2.0.1 --major=2 --patch=1 --runtime=node --node_abi=node-v46 --platform=win32 --target_platform=win32 --arch=x64 --target_arch=x64 --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport\v2.0.1\Release\node-v46-win32-x64 --remote_path=./serialport/v2.0.1/Release/ --package_name=node-v46-win32-x64.tar.gz --staged_tarball=build\stage\serialport\v2.0.1\Release\node-v46-win32-x64.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/node-v46-win32-x64.tar.gz' (1)

On the console, I get this

gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.0.6002
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--name=serialport" "--configuration=Release""--module_name=serialport" "--version=2.0.1" "--major=2" "--patch=1" "--runtime=node" "--node_abi=node-v46" "--platform=win32" "--target_platform=win32" "--arch=x64" "--target_arch=x64" "--module_main=./serialport" "--host=https://node-serialport.s3.amazonaws.com/" "--module_path=C:\\Users\\sm\\AppData\\Roaming\\npm\\node_modules\\serialport\\build\\serialport\\v2.0.1\\Release\\node-v46-win32-x64" "--remote_path=./serialport/v2.0.1/Release/" "--package_name=node-v46-win32-x64.tar.gz" "--staged_tarball=build\\stage\\serialport\\v2.0.1\\Release\\node-v46-win32-x64.tar.gz" "--hosted_path=https://
node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/" "--hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/node-v46-win32-x64.tar.gz"
gyp ERR! cwd C:\Users\sm\AppData\Roaming\npm\node_modules\serialport
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'node-gyp.cmd rebuild --name=serialport --configuration=Release --module_name=serialport --version=2.0.1 --major=2 --patch=1 --runtime=node --node_abi=node-v46 --platform=win32 --target_platform=win32 --arch=x64 --target_arch=x64 --module_main=./serialport --host=https://node-serialport.s3.amazonaws.com/ --module_path=C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\build\serialport\v2.0.1\Release\node-v46-win32-x64 --remote_path=./serialport/v2.0.1/Release/ --package_name=node-v46-win32-x64.tar.gz --staged_tarball=build\stage\serialport\v2.0.1\Release\node-v46-win32-x64.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v2.0.1/Release/node-v46-win32-x64.tar.gz' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\Users\sm\AppData\Roaming\npm\node_modules\serialport\node_modules\node-pre-gyp\lib\util\compile.js:76:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:818:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

node-pre-gyp ERR! System Windows_NT 6.0.6002
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\sm\\AppData\\Roaming\\npm\\node_modules\\serialport\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\Users\sm\AppData\Roaming\npm\node_modules\serialport
node-pre-gyp ERR! node -v v4.2.1
node-pre-gyp ERR! node-pre-gyp -v v0.5.19
node-pre-gyp ERR! not ok
npm ERR! Windows_NT 6.0.6002
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "serialport"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! serialport@2.0.1 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the serialport@2.0.1 install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the serialport package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR!     npm owner ls serialport
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\sm\npm-debug.log

Any ideas?