错误 TRK0005: 定位失败: “ CL.exe”。系统无法找到指定的文件

我想安装 bcrypt 的 Windows 10机器与视觉工作室社区2015,安装 Python v2.7.3,但我得到以下错误。

Node version v4.2.1 Node-gyp v3.0.3

npm install bcrypt




C:\Users\ASMIN\Desktop\M2\app>npm install bcrypt
npm WARN package.json eapp@1.0.0 No description
npm WARN package.json eapp@1.0.0 No repository field.
npm WARN package.json eapp@1.0.0 No README data


> bcrypt@0.8.5 install C:\Users\ASMIN\Desktop\M2\app\node_modules\bcrypt
> node-gyp rebuild








C:\Users\ASMIN\Desktop\M2\app\node_modules\bcrypt>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 )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(366,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersio
n or PlatformToolset may be set to an invalid version number. [C:\Users\ASMIN\Desktop\M2\app\node_modules\bcrypt\build\bcrypt_lib.vcxproj]
TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified. [C:\Users\ASMIN\Desktop\M2\app\node_modules\bcrypt\build\bcrypt_lib.vcxproj]




gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\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 10.0.10240
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"
gyp ERR! cwd C:\Users\ASMIN\Desktop\M2\app\node_modules\bcrypt
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm ERR! Windows_NT 10.0.10240
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "bcrypt"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE


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


npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\ASMIN\Desktop\M2\app\npm-debug.log
64106 次浏览

I had the same problem with another module.

I solved it by:

  • Install visual studio community 2013
  • Run npm config set msvs_version 2013 --global
  • Run npm install bcrypt

I had a similar problem while building a typical hello_world.c console application. The reason was that I decided to install VS2015 to "C:\program files (x86)\msvc14", but the installer installed cl.exe to the default "c:\program files (x86)\Microsoft Visual Studio 14.0" path. Which is obviously a serious bug in the setup program.

I merged all the content of "Microsoft Visual Studio 14.0" into the "msvc14" directory, and now all works fine.

I had a problem installing karma (npm module). I installed Visual c++ from visual studio 2015 install and it worked.

Easily, I fixed this issue by simply creating C++ project in VS2015.

Basically, when u choose to create a c++ project, VS2015 will ask you to install a certain component, you just let it install. The issue will get fixed. (BTW, I am using VS2015 on Win10)

Putting this here in case someone has the same issue:

I already had the C++ libraries installed.

Updating Node worked for me.

I assume the older version of node just didn't support my VS2017.

Just gonna drop this here in case someone needs this to work with VS 2017 and ethereum web3.js. I faced this problem when installing web3.js

  1. Update Node.js to 8.11.1
  2. Create a Visual C++ Project in VS 2017, and make sure it built succesfully
  3. Set the config msvs_version

    npm config set msvs_version 2017 --global

  4. then npm install web3 -g --save