节点 gyp 错误跟踪器:错误 TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件
Posted
技术标签:
【中文标题】节点 gyp 错误跟踪器:错误 TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件【英文标题】:node gyp error TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified 【发布时间】:2016-01-15 22:55:29 【问题描述】:我想在装有 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\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
【问题讨论】:
检查You will also need to install:
github.com/nodejs/node-gyp 部分以确保您拥有 node-gyp 正常工作所需的一切
Issue is by default C++ compiler is not installed in vc2015, refer to
【参考方案1】:
我在另一个模块上遇到了同样的问题。
我解决了:
安装 Visual Studio Community 2013 运行npm config set msvs_version 2013 --global
运行npm install bcrypt
【讨论】:
npm config set msvs_version 2013 --global
为我修复了它。这可能是因为我在 vs2013 express 之前安装了 vs2015 社区
npm install brcrypt --msvs_version=2013 为我修复
为什么它需要依赖于 VS2013 的东西而没有在某处注明?
un....可信的。我已经使用 nodejs 几个月了,每次看到那些令人生畏的红色/紫色错误和警告时,我都以为自己是 S.O.L。最后,今天,你证明我错了——我终于可以像老大一样编译nodejs模块了。
"npm config set msvs_version 2017 --global" 对我有用,谢谢!【参考方案2】:
我很容易通过在 VS2015 中创建 C++ 项目来解决此问题。
基本上,当你选择创建一个 c++ 项目时,VS2015 会要求你安装某个组件,你就让它安装。该问题将得到解决。 (顺便说一句,我在Win10上使用VS2015)
【讨论】:
这需要 8GB 的额外工具! 快两年了,但您的帖子仍然有效。在浪费了我一整天之后,我看到了你的帖子,这救了我。非常感谢。上帝保佑你 @TimC 当你有 迄今为止最简单直接的解决方案!【参考方案3】:我在安装 karma(npm 模块)时遇到问题。我从 Visual Studio 2015 install 安装了 Visual c++,它工作正常。
【讨论】:
【参考方案4】:我在构建典型的 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”目录下,现在一切正常。
【讨论】:
【参考方案5】:把这个放在这里以防有人遇到同样的问题:
我已经安装了 C++ 库。
更新节点对我有用。
我假设旧版本的节点不支持我的 VS2017。
【讨论】:
【参考方案6】:只要把它放在这里,以防有人需要它来使用 VS 2017 和 ethereum web3.js。 我在安装 web3.js 时遇到了这个问题
-
将 Node.js 更新到 8.11.1
在 VS 2017 中创建一个 Visual C++ 项目,并确保它构建成功
设置配置 msvs_version
npm 配置集 msvs_version 2017 --global
然后 npm install web3 -g --save
【讨论】:
以上是关于节点 gyp 错误跟踪器:错误 TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件的主要内容,如果未能解决你的问题,请参考以下文章
节点 10 - npm 安装期间的“node-gyp 重建”错误
节点 sqlite node-gyp 构建错误:“v8::Object”中没有名为“ForceSet”的成员
visual studio 2017 编译v140 TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件