为 npm 整数安装 node-gyp 错误

Posted

技术标签:

【中文标题】为 npm 整数安装 node-gyp 错误【英文标题】:node-gyp err on install for npm integer 【发布时间】:2019-07-22 02:06:21 【问题描述】:

节点版本:节点:v11.10.0 和 npm:6.7.0 平台:Windows 10 模块:整数

每次我尝试安装整数时,都会收到以下错误。

PS C:\Users\will_\OneDrive\Desktop\bot-test> npm i integer

> integer@2.1.0 install C:\Users\will_\OneDrive\Desktop\bot-test\node_modules\integer
> node-gyp rebuild


C:\Users\will_\OneDrive\Desktop\bot-test\node_modules\integer>if not defined 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" rebuild )  else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe ENOENT
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:246:19)
gyp ERR! stack     at onErrorNT (internal/child_process.js:427:16)
gyp ERR! stack     at processTicksAndRejections (internal/process/next_tick.js:76:17)
gyp ERR! System Windows_NT 10.0.17134
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\will_\OneDrive\Desktop\bot-test\node_modules\integer
gyp ERR! node -v v11.10.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! This is a bug in `node-gyp`.
gyp ERR! Try to update node-gyp and file an Issue if it does not help:
gyp ERR!     <https://github.com/nodejs/node-gyp/issues>
npm WARN discord.js@11.4.2 requires a peer of bufferutil@^3.0.3 but none is installed. You must install peer dependencies yourself.
npm WARN discord.js@11.4.2 requires a peer of erlpack@discordapp/erlpack but none is installed. You must install peer dependencies yourself.
npm WARN discord.js@11.4.2 requires a peer of node-opus@^0.2.7 but none is installed. You must install peer dependencies yourself.
npm WARN discord.js@11.4.2 requires a peer of opusscript@^0.0.6 but none is installed. You must install peer dependencies yourself.
npm WARN discord.js@11.4.2 requires a peer of sodium@^2.0.3 but none is installed. You must install peer dependencies yourself.
npm WARN discord.js@11.4.2 requires a peer of libsodium-wrappers@^0.7.3 but none is installed. You must install peer dependencies yourself.
npm WARN discord.js@11.4.2 requires a peer of uws@^9.14.0 but none is installed. You must install peer dependencies yourself.
npm WARN bot-test@1.0.0 No repository field.
npm WARN bot-test@1.0.0 license should be a valid SPDX license expression

npm ERR! code ELIFECYCLE
npm ERR! errno 7
npm ERR! integer@2.1.0 install: `node-gyp rebuild`
npm ERR! Exit status 7
npm ERR!
npm ERR! Failed at the integer@2.1.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\will_\AppData\Roaming\npm-cache\_logs\2019-02-28T07_57_21_798Z-debug.log

我在谷歌上查找了错误并得到了不同的结果。我尝试了不同的方法,从重新安装 Microsoft Visual Studio 到编辑注册表中的文件。我已经尝试了很多东西,并在其他论坛上寻求帮助。我只是似乎无法自己解决这个问题,并且会很感激。

【问题讨论】:

【参考方案1】:

在这些错误上坚持了好几个小时后,我终于弄明白了。永远记住要仔细查看以以下开头的错误:

gyp 错误!堆栈错误: spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe ENOENT

这意味着Microsoft Visual Studio的路径错误(您可以通过在资源管理器地址栏中粘贴C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe来检查),所以要纠正只是使用:

set path=%path%;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Current\Bin

纠正错误。

【讨论】:

【参考方案2】:

我在切换计算机时遇到了类似的异常。我只是删除了package-lock.json,然后它就起作用了。

【讨论】:

【参考方案3】:

我建议你安装 node.js 的构建工具。 这些将帮助您编译 node-gyp 包并很可能修复您的错误。 只需以管理员身份启动 PowerShell 并运行:

npm install --global windows-build-tools

或者,如果您使用的是 Yarn:

yarn global add windows-build-tools

NPM 包:windows-build-tools

您也可以手动安装 Python 2.7Visual C++ Build Tools,但 windows-build-tools 会为您处理这一切!

【讨论】:

【参考方案4】:

尝试将 node-gyp 安装为全局。

npm install -g node-gyp

您还需要在系统中安装构建工具,以便在终端中安装构建工具。

npm install build-tools  -g

这应该可以解决您的问题,如果尚未解决,请尝试重新启动。

【讨论】:

以上是关于为 npm 整数安装 node-gyp 错误的主要内容,如果未能解决你的问题,请参考以下文章

节点 10 - npm 安装期间的“node-gyp 重建”错误

由于 node-gyp,Npm install 未安装

npm未安装node-gyp,错误:“类v8 :: Object”没有名为“ ForceSet”的成员

Windows npm install node-gyp 错误:libxslt 命令失败

由于 node-gyp 无法安装 npm:binding.gyp not found

npm 安装期间 mac 10.5.8 上的 node-gyp 'pkg-config: command not found'