Node-gyp. MSBuild.exe` 失败,退出代码为1。

9
我尝试安装需要以下内容的sharp模块: - c++编译器 - 我下载了Visual Studio 2017和Visual C++构建工具 - node-gyp - 它已经成功安装
但是运行“npm install -g sharp”时,我遇到了很多错误:
- gyp ERR!stack 错误:E:\ VS \ MSBuild \ 15.0 \ Bin \ MSBuild.exe 失败,退出代码为1 - gyp ERR!stack 在ChildProcess.onExit中(C:\ Users \ MyUsername \ AppData \ Roaming \ npm \ node_modules \ npm \ node_modules \ node-gyp \ li \ build.js:258:23) - gyp ERR!stack 中的emitTwo(events.js:125:13) - gyp ERR!stack 中的ChildProcess.emit(events.js:213:7) - gyp ERR!stack 中的Process.ChildProcess._handle.onexit(internal/child_process.js:200:12) - gyp ERR!系统Windows_NT 10.0.15063 - gyp ERR!命令“C:\ Program Files \ nodejs \ node.exe” - gyp ERR!cwd C:\ Users \ MyUsername \ AppData \ Roaming \ npm \ node_modules \ sharp - gyp ERR!node-v v8.5.0 - gyp ERR!node-gyp-v v3.6.2 - gyp ERR!不ok - npm WARN 错误:EPERM:操作不允许,取消链接 - 'C:\ Users \ MyUsername \ AppData \ Roaming \ npm \ node_modules \ sharp \ node_modu es \ color-name \ package.json' - npm WARN {错误:EPERM:操作不允许,unlink - 'C:\ Users \ MyUsername \ AppData \ Roaming \ npm \ node_modules \ sharp \ node_m dules \ color-name \ package.json' - npm WARN 堆栈:'错误:EPERM:操作不允许,取消链接\'C:\ Users \ MyUsername \ AppData \ Roaming \ npm \ node_module \ sharp \ node_modules \ color-name \ package.json\'', - npm WARN 错误码:'EPERM', - npm WARN 系统调用:'unlink', - npm WARN 路径: - 'C:\ Users \ MyUsername \ AppData \ Roaming \ npm \ node_modules \ sharp \ node_modules \ color-name \ package.json' - npm ERR!代码ELIFECYCLE npm ERR!errno 1 npm ERR!sharp@0.18.3安装:node-gyp rebuild npm ERR!退出状态1
如果有影响的话 - 我是Windows用户。

你安装了Node.js吗? - forJ
是的,我已经安装了。 - Nurislam Fazulzyanov
3个回答

4

听起来好像没有安装构建工具,您需要为Windows安装构建工具。

npm install --global windows-build-tools

更多详情


Ubuntu 系统有没有任何解决方案? - Adam
1
正确的命令是 npm install --global windows-build-tools. - Metalik

2

我刚刚遇到了类似的问题,在网上搜索了很多,似乎是由于最新的node版本自动整合并使用v8引擎,而旧版本的依赖不支持。

它看起来像是一个ms-build问题,但那可能不是真正的问题。我已经尝试了以下方法,但都没有成功:

  1. 将node版本降级到10.8.0,然后再安装
  2. 删除 %APPDATA%\npm-cache\_libvips,并从这里安装
  3. 运行 npm install --global windows-build-tool

这是我解决问题的方法:

  1. 卸载nodejs和npm(确保C:/Program Files/nodejs文件夹被删除,如果有任何npm安装位置仍然存在,请删除它。一个例子是C:\Users<username>\AppData\Roaming\npm)
  2. 安装Node版本14.16.0(我建议使用nvm来完成此任务)
  3. 通过运行 npm install npm@latest -g 更新npm到最新版本
  4. 转到项目文件夹(之前安装失败的位置)并运行 npm install --ignore-scripts
  5. (顺便说一句),如果它与node-sass一起使用,您可能还想运行此命令:npm rebuild node-sass --force --ignore-scripts

不幸的是,“npm install npm@latest -g”会导致更多问题... https://dev59.com/0lQJ5IYBdhLWcg3wEBm- - Arst
1
我只尝试了第4步和第5步,对我有效(无需重新安装nodenpm)。 - Gary Wang

1
当你使用以下命令安装vs_BuildTools.exe时:
npm install --global windows-build-tools
如果遇到一些错误,请尝试手动安装。
然后别忘了将msbuild.exe添加到系统路径中。
例如:C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\amd64
当这不在你的路径中时,系统会尝试使用来自.NET安装的另一个msbuild.exe。
我通过这种方式解决了我的问题。

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