错误:`C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe`退出代码为1。

21

我试图使用npm install命令安装所有依赖项,但在安装时出现以下错误:

ling source file ..\src\threaded_callback_invokation.cc)
c:\applatest\applatest\node_modules\nan\nan.h(1478): warning C4996: 'node::MakeCallback': was declared deprecated (comp
iling source file ..\src\threaded_callback_invokation.cc) [C:\appLatest\appLatest\node_modules\voicemeeter\node_modules
\ffi\build\ffi_bindings.vcxproj]
  c:\users\alliancetek\.node-gyp\10.15.0\include\node\node.h(176): note: see declaration of 'node::MakeCallback' (compi
  ling source file ..\src\threaded_callback_invokation.cc)
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.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:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 10.0.17763
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:\appLatest\appLatest\node_modules\voicemeeter\node_modules\ffi
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-linux@1.3.1 (node_modules\7zip-bin-linux):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-linux@1.3.1: wanted {"os":"linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-mac@1.0.1 (node_modules\7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-mac@1.0.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ffi@2.2.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ffi@2.2.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\alliancetek\AppData\Roaming\npm-cache\_logs\2019-02-05T10_40_31_378Z-debug.log

在许多解决方案中,我尝试过npm install node-gyp,或卸载/重新安装它,但我仍然遇到相同的错误。

还可以尝试以下步骤:

  • 安装最新版本的Python(可能与问题无关),以及"Microsoft Visual C++ Redistributable for Visual Studio 2017"、Node.js和NPM;
  • 管理员身份运行: $ cd "C:\Program Files\nodejs\node_modules\npm" $ npm install node-gyp
  • $ npm config set msvs_version 2015 --global 请注意,我有VS 2017,但将其配置为版本2017不起作用。不确定为什么。
  • 管理员身份运行: $ npm install -g node-sass 最后,请再进行一次检查: $ node-sass -v

并且尝试使用npm install --production windows-build-tools,但任何选项都没有结果。

我已经尝试了所有的解决方案,但都没有成功。我已经安装了Python 2.7.15、VC++构建工具、Visual Studio 2017和所有必需的组件。

我已经寻找了两个星期的解决方案,请给我提供正确的答案。


请指定您正在尝试安装的依赖项。如果有多个,请尝试隔离无法安装的软件包。 - Mathyn
我的项目使用Aurelia JS,所以我添加了Aurelia问题。如果我添加了它,那么它肯定有一些意义。@avrahamcool - sejal
我只是在尝试安装“npm install”命令,因为没有它,我无法安装任何依赖项,并且我在“npm install”命令本身中遇到了问题。@Mathyn - sejal
如果你运行 npm install,那么你正在安装项目中 package.json 文件所列出的依赖项。请与我们分享这个 package.json 文件。 - Mathyn
您可以在此处查看我的 package.json 文件: https://www.dropbox.com/s/tobs3ci886fm47p/pacakge.txt?dl=0 - sejal
5个回答

27
  1. 运行:npm cache clean --force
  2. 删除 node_modules 文件夹
  3. 删除 package-lock.json 和 yarn.lock(如果有的话)
  4. 运行:npm install

2
我已经按照相同的步骤操作,但仍然遇到了相同的错误。我的日志都被放在一个文件中。 - sejal
您可以在此处检查日志:https://www.dropbox.com/s/txaccpwda6t7n5m/logs.txt?dl=0 - sejal
2
删除/.node-gyp文件夹和/.npmrc文件。重新启动服务器并在项目文件夹中重新运行npm install,并检查服务器node版本package.json文件与本地环境运行的版本是否一致。因此,请检查您本地正在运行的内容: - Shubham Tiwari
2
请参考以下链接,它将对您有所帮助:[https://dev59.com/eFQK5IYBdhLWcg3wSeK9]。 - Shubham Tiwari
1
没有用,对我没起作用。一切都和上一个一样。这是我的存储库,出现了这个错误 https://github.com/llighter/ionic-studycard - saber tabatabaee yazdi
显示剩余11条评论

5

这些答案在Windows 10和Node 13上都不适用于我。我不得不卸载Visual Studio和Build Tools,然后卸载Node 13。接着,我删除了Roaming中的npm和npm-cache,再重新安装Node 11.6并选择安装Chocolately。自此之后,它对我有用。


2
我在Win 10上遇到了同样的问题 - 问题再次出在node版本上。我为Windows安装了一个node版本管理器:https://github.com/coreybutler/nvm-windows/releases然后我安装了v.10(因为这是一个Ang7项目,之前我有v.12): nvm install 10 nvm use 10.0.0这解决了问题。使用此管理器,您可以快速切换节点版本,如果您在多个存储库中工作。 - Albena Kertova
1
我降级到 Node 10.x 后,我的程序终于可以正常工作了。其他我尝试过的方法都没有奏效。 - Rupam
2
是的,这对我起作用了。显然,当我勾选了要安装Chocolaty和其他C++库的复选框时,它下载了缺失的内容,然后我就能够执行npm install了。 - some_groceries

3
  • 运行 npm install --production windows-build-tools 可能需要较长时间来安装,对我朋友有效。

或者

  • 重新安装 nodeJs 对我有效。

1
你可以尝试将Node.js降级到旧版本,我使用的是版本v14.16.1LTS。切换到v10.24.1后它可以正常工作。
要更改您的节点版本,请查看如何更改为旧版Node.js 请记得首先删除您的node_modules文件夹和package-lock.jsonyarn.lock 您也可以尝试从yarn切换到npm或从npm切换到yarn。

0

以管理员权限在命令提示符中运行以下命令:

npm install --global --production windows-build-tools --vs2017

5
感谢您提出这个建议,它可能会提供一些有限的短期帮助。适当的解释将极大地提高其长期价值,因为它可以说明为什么这是一个好的问题解决方案,使其对未来具有类似问题的读者更有用。请编辑您的答案并添加一些解释,包括您所做的假设。 - Toby Speight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接