节点gyp错误TRACKER:错误TRK0005:找不到:“ CL.exe”。该系统找不到指定的文件


76

我想在安装了Visual Studio Community 2015,Python v2.7.3的Windows 10计算机上安装bcrypt,但出现以下错误。

节点版本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

2
检查节You will also need to install:github.com/nodejs/node-gyp,以确保你有你需要的节点GYP到正常工作的一切
Molda

Answers:


107

我在另一个模块上遇到了同样的问题。

我通过以下方法解决了它:

  • 安装Visual Studio Community 2013
  • npm config set msvs_version 2013 --global
  • npm install bcrypt

15
npm config set msvs_version 2013 --global为我修复它。这可能是因为我在vs2013 Express之前安装了vs2015社区
蒂姆(Tim)

3
npm install brcrypt --msvs_version = 2013为我修复了
manas

16
为什么需要一些依赖于VS2013的东西却没有注意到它?
凯文·加迪亚尼

4
难以置信的。我已经使用nodejs几个月了,每次看到那些令人生畏的红色/紫色错误和警告时,我都以为自己是SOL。终于,今天,您证明了我错了-我终于可以像boss一样编译nodejs模块
bigp

4
在我的情况下,“ npm config set msvs_version 2017 --global”有效,谢谢!
FPC

84

我很容易地通过在VS2015中创建C ++项目来解决此问题。

基本上,当您选择创建c ++项目时,VS2015会要求您安装某个组件,您只需让其安装即可。该问题将得到解决。(顺便说一句,我在Win10上使用VS2015)


6
这需要8GB的额外工具!
TimC

3
它已经快两年了,但您的帖子仍然有效。浪费了一整天后,我看到了您的帖子,这挽救了我。非常感谢。上帝保佑你
Rahul

@TimC当您还有不足50GB的空间时,这可不是什么好话
Michael

到目前为止,最简单,最直接的解决方案!
瑞安·盖茨


9

在构建典型的hello_world.c控制台应用程序时,我遇到了类似的问题。原因是我决定将VS2015安装到“ C:\程序文件(x86)\ msvc14”,但是安装程序将cl.exe安装到默认的“ c:\程序文件(x86)\ Microsoft Visual Studio 14.0”路径。这显然是安装程序中的一个严重错误。

我将“ Microsoft Visual Studio 14.0”的所有内容合并到“ msvc14”目录中,现在一切正常。


0

如果有人遇到相同问题,请放在此处:

我已经安装了C ++库。

更新Node对我有用。

我认为节点的旧版本只是不支持我的VS2017。


0

如果有人需要使用VS 2017和以太坊web3.js,请把它放在这里。安装web3.js时遇到了这个问题

  1. 将Node.js更新到8.11.1
  2. 在VS 2017中创建一个Visual C ++项目,并确保它成功构建
  3. 设置配置msvs_version

    npm配置设置msvs_version 2017 --global

  4. 然后npm install web3 -g --save

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.