吉普错误!堆栈错误:`C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe`

Posted

技术标签:

【中文标题】吉普错误!堆栈错误:`C:\\Program Files (x86)\\MSBuild\\14.0\\bin\\msbuild.exe`【英文标题】:gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe`吉普错误!堆栈错误:`C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` 【发布时间】:2019-02-04 22:37:43 【问题描述】:

我在运行 Jenkins 作业时遇到以下错误。我已经安装了 MSBuild 15 和 17 并指定了正确的路径。

任何人都可以对此有所了解吗?问题出在哪里。谢谢。

(x86)\Jenkins\workspace\POS4> npm 安装

pos4@1.0.10 安装 C:\Program Files (x86)\Jenkins\workspace\POS4 节点gyp重建

C:\Program Files (x86)\Jenkins\workspace\POS4>如果没有定义 npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\. ...\node_modules\node-gyp\bin\node-gyp.js" 重建) else (节点 "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js"重建) 警告:缺少输入文件: C:\Program Files (x86)\Jenkins\workspace\POS4\build..\build\Release\binding.node 一次在此解决方案中构建项目。要启用并行构建,请添加“/m”开关。 C:\Program Files (x86)\Jenkins\workspace\POS4\build\binding.vcxproj(20,3):

错误 MSB4019:导入的项目“C:\Micr osoft.Cpp.Default.props" 没有找到。确认声明中的路径是正确的,并且文件 存在于磁盘上。

gyp 错误!构建错误

gyp 错误!堆栈错误:C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe 失败,退出代码:1

gyp 错误! ChildProcess.onExit 处的堆栈(C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23) 吉普错误! ChildProcess.emit (events.js:182:13) 的堆栈 吉普错误!堆栈在 Process.ChildProcess._handle.onexit (internal/child_process.js:238:12) 吉普错误!系统 Windows_NT 10.0.17134

【问题讨论】:

【参考方案1】:

确保您没有将节点 12 作为 node-gyp 使用,否则将失败。版本 11.15.0 是最新的工作版本。

【讨论】:

为什么这被否决了?这是问题的正确答案并立即修复。 这也解决了我的问题。我得到以下信息: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:\\Projects\\quotes.webui\\node_modules\\node-gyp\\lib\\build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:223:5) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Windows_NT 10.0.17763 谢谢,你保存了! 那么 14+ 版本呢?所以它不适用于未来的 Node 版本?【参考方案2】:

这是在基于 Windows 的操作系统上构建的用户所面临的相当普遍的问题。 node-gyp 错误意味着无法构建本机模块。恕我直言,根据我的经验,从来没有一个单一的答案可以直接解决这个问题。但是,如果其他人遇到node-gyp 错误,我建议遵循以下清单。您可能已经尝试过这些,但只是将其留作参考。

使用npm install --global windows-build-tools 安装Windows 构建工具。这将启用本机节点模块的编译,并由felixrieseberg/windows-build-tools 提供。构建工具包括 Python 和 Visual C++ 包等项目(node-gyp 似乎首选 Python 2.7) 配置 node-gyp 以在您的情况下使用 node-gyp configurenode-gyp configure --msvs_version=2015 为您的项目生成适当的构建文件,因为您提到您已经安装了 MSBuild 15 和 17。最好坚持使用一个并配置node-gyp 到它(通过node-gyp 获取更多可用命令,例如rebuild) 确保Pythonnpm config 路径设置正确。如果您手动安装了构建工具或使用上述链接,请确保您的 npm config 指向有效的安装目录

这些仅供参考,如果我再遇到任何问题,我会在此处添加它们,因为在 Windows 机器上处理 node-gyp 是我过去和现在都遇到过的问题。

由于无法找到本机绑定,因此本机节点模块(例如 SQLite)导致的错误通常也会引发此错误。

【讨论】:

【参考方案3】:

尝试将你的Node版本降级到11.15.0,因为它是最新的工作版本,你可以使用n来进行node的版本管理。 n 有一个简单的介绍。

$ npm install -g n
$ n 6.10.3

这很容易使用。

然后你可以显示你的节点版本:

$ node -v
$ v8.11.1

检查这个answer

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review @NicoHaase 我做了,但是,我知道如果我使用外部链接,您的评论可能会有用【参考方案4】:

当我使用最新的 npm 和 VS 将节点从 13 降级到版本 11 时,这为我解决了。

【讨论】:

【参考方案5】:

我也在 windows 环境中得到了这个。但是,在linux中它很好。所以我只是将node_moduels从linux复制到windows。

【讨论】:

【参考方案6】:

我只是想在这里插话,因为我碰巧解决了这个问题。确保将 node.js 降级到推荐的 node 版本。我在当前,这导致了问题。

【讨论】:

以上是关于吉普错误!堆栈错误:`C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe`的主要内容,如果未能解决你的问题,请参考以下文章

我在运行 npm install 时遇到问题

使用松露拆箱反应时出现松露拆箱错误

命令提示错误“C:\Program”不是内部或外部命令、可运行程序或批处理文件

Elastic BeanStalk 节点 Js/Angular 部署问题

错误:C:\Program Files\dotnet\dotnet.exe 失败,返回码:1

启动器中的致命错误:无法使用“C:\Program Files (x86)\Python33\python.exe”“C:\Program Files (x86)\Python33\pip.exe”创