跟踪器:错误TRK0005:无法定位:"CL.exe"。系统找不到指定的文件



我正试图在Windows 8上的Node.js项目中执行以下命令:

npm安装web3@1.0.0-beta.24

但我遇到了一个错误,我知道如何处理。

TRACKER:错误TRK0005:未能定位:"CL.exe"。系统无法找到指定的文件。[C:\Projects\myproject\node_modules\scrypt\build\copied_files.vcxproj]

这是整个输出:

scrypt@6.0.3预装C:\Projects\myproject\node_modules\scrypt节点-加密-重新安装.js

scrypt@6.0.3安装C:\Projects\myproject\node_modules\scrypt节点gyp重建

C:\Projects\myproject\node_modules\scrypt>如果未定义npm_config_node_gyp(节点"C:\ProgramFiles\nodejs\node_modules\npm\bin\node-gyp-bin\。。。。\node_modules\node gyp\bin\node-gyp.js"重建)else(node"重建)警告:缺少输入文件:C:\Projects\myproject\node_modules\scrypt\build。。\scrypt\win\include\config.h在此解决方案中一次生成一个项目。启用并行构建,请添加"/m"开关。C: \程序文件(x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CpBuild.targets(366,5):警告MSB8003:未能从中找到WindowsSDKDir变量注册中心。TargetFrameworkVersion或PlatformToolset可以设置为无效的版本号。[C:\Projects\myproject\node_modules\scrypt\build\copied_files.vcxproj]正在复制scrypt/win/include/config.h到scrypt/scrypt-1.20/config.h系统找不到指定的文件。TRACKER:错误TRK0005:失败无法定位:"CL.exe"。系统找不到指定的文件。[C:\Projects\myproject\node_modules\scrypt\build\copied_files.vcxproj]

C: \程序文件(x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CpBuild.targets(366,5):警告MSB8003:未能从中找到WindowsSDKDir变量注册中心。TargetFrameworkVersion或PlatformToolset可以设置为无效的版本号。[C:\Projects\myproject\node_modules\scrypt\build\scrypt_wrapper.vcxproj]TRACKER:错误TRK0005:找不到:"CL.exe"。系统找不到指定的文件。[C:\Projects\myproject\node_modules\scrypt\build\scrypt_wrapper.vcxproj]

gyp ERR!生成错误gyp ERR!堆栈错误:C:Program Files (x86)MSBuild14.0binmsbuild.exe失败,退出代码为:1 gyp ERR!在ChildProcess.onExit(C:\ProgramFiles\nodejs\node_modules\npm\node_modeles\node-gyp\lib\build.js:258:23)gyp ERR!堆栈在emitTwo(events.js:126:13)gyp ERR!堆叠在ChildProcess.emit(events.js:214:7)gyp ERR!堆叠在Process.ChildProcess.handle.onext(internal/child_Process.js:198:12)gyp ERR!系统Windows_NT 6.2.9200 gyp ERR!命令"C:\ProgramFiles\nodejs\node.exe"C:\ProgramFiles\nodejs\node_modules\npm\node_modeles\node-gyp\bin\node-gyp.js"重建"gyp ERR!cwd C:\Projects\myproject\node_modules\scrypt-gyp ERR!node-v v8.9.1 gyp ERR!节点gyp-v v3.6.2 gyp ERR!不正常npm警告inbanner@1.6.0没有存储库字段。

npm ERR!代码ELIFECYCLE npm ERR!errno 1 npm ERR!scrypt@6.0.3安装:node-gyp rebuildnpm ERR!退出状态1 npm ERR!npm ERR!在处失败scrypt@6.0.3安装脚本。npm ERR!这可能是npm没有问题。可能有额外的日志输出在上面

npm ERR!此运行的完整日志可在以下位置找到:npm ERR
C:\Users\user\AppData\Roaming\npm-cache_logs\2017-11-13T01_31_12_133Z-debug.log

帮助!

这个包似乎需要本机编译。您需要为此安装Visual Studio C++生成工具。您可以从以下链接下载相同的

http://landinghub.visualstudio.com/visual-cpp-build-tools

此外,在此之后,您需要确保CL.exe在您的路径中可用。它将在类似C:Program FilesMicrosoft Visual Studio 10.0VCcebin的路径上。这将根据您安装的生成工具的版本进行更改。

如果安装程序不为您更新Windows PATH环境变量,则需要确保更新该变量。

此外,如果npm仍然失败,您可以随时尝试使用yarn

yarn add web3@1.0.0-beta.24

ERR!在处失败scrypt@6.0.3安装脚本。

错误是由scrypt包引起的,因为node-gyp无法重建,

尝试以管理员身份运行cmd并运行npm install scrypt@6.0.3,如果不起作用,请尝试node-gyp rebuild或重新安装

如果您修复了节点gyp的问题,那么在安装node-gyp的过程中,Cl.exe应该位于正确的位置

我在同一条船上,网上找到的大多数答案对这个重建错误都没有帮助(或者不是100%可行)。在尝试了几种不同的方法后,我发现这种方法在我的机器(Windows 10 Pro)上有效。现在,我可以毫无问题地安装web3了。(或其他与节点gyp问题相关的包,如"松露开箱反应")

我总结的步骤如下:

  1. 安装NodeJS、Git
  2. 下载Windows Visual Studio 2015
  3. 打开Visual Studio 2015并创建"新项目…">

    • 选择"创建新的C++项目">
    • 您应该看到VS请求安装"Visual C++2015通用工具"one_answers"Windows 8.1 SDK和通用CRT SDK"的菜单(从该Windows 8.1 SDK文件中加密所需工具中的一些进程)
    • 同时选择并安装
  4. 通过npm命令安装/链接python

    • npm --add-python-to-path="true" --debug install --global windows-build-tools
  5. 将msvs_version设置为2015
    • npm config set msvs_version 2015 --global
  6. 安装web3
    • npm install web3

参考:我的npm版本:5.6.0我的节点版本:8.9.4

希望这会有所帮助!

最新更新