节点 gyp 错误 TRACKER:错误 TRK0005:无法定位:"CL.exe"。该系统找不到指定的文件

node gyp error TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified

我想在安装了 visual studio community 2015 Python v2.7.3 的 windows 10 机器上安装 bcrypt,但出现以下错误。

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

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

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

  • 安装 visual studio 社区 2013
  • 运行 npm config set msvs_version 2013 --global
  • 运行 npm install bcrypt

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

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

我在安装 karma(npm 模块)时遇到问题。我从 visual studio 2015 install 安装了 Visual c++,它运行良好。

很简单,我通过简单地在 VS2015 中创建 C++ 项目解决了这个问题。

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

把这个放在这里以防有人遇到同样的问题:

我已经安装了 C++ 库。

更新节点对我有用。

我假设旧版本的节点不支持我的 VS2017。

如果有人需要它来使用 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