首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows上的node 5:找不到npm\node_modules\node gyp\bin\ node-gyp . on

Windows上的node 5:找不到npm\node_modules\node gyp\bin\ node-gyp . on
EN

Stack Overflow用户
提问于 2019-09-12 02:01:45
回答 1查看 2.4K关注 0票数 2

运行NPM6.11.3,node 5.0.3,在Windows10 VS2019上运行v1903,得到以下错误:

Cannot find module %AppData%\npm\node_modules\node-gyp\bin\node-gyp.js (其中%AppData%被扩展到实际的用户特定路径)。

只有通过npm调用构建时才会发生错误,即:

代码语言:javascript
复制
npm run build

package.json文件scripts部分:

代码语言:javascript
复制
"scripts": {
  ...
  "build": "node-gyp build",
}

如果在npm上下文之外手动调用node-gyp build,则错误将消失。

如何消除错误,并仍然使用npm脚本进行构建?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-12 02:01:45

弄明白了。

在升级到Windows10构建系统上的node 5之后,我开始得到臭名昭著的Error: Cannot find module ... npm\node_modules\node-gyp\bin\node-gyp.js,它是由npm将node_modules\npm-lifecycle\node-gyp-bin推到我的PATH之上而引起的,就像描述的这里一样。

我发现和尝试过的任何现有补救方法都不能解决这个问题,包括安装最新的windows-build-tools。下面是我尝试过的,按以下顺序排列:

  • 手动清除系统PATH和用户PATH环境中的混乱和重复
  • 重新启动
  • choco unistall nodejs
  • rd /s %AppData%\npm\
  • rd /s %AppData%\npm\
  • choco install nodejs
  • npm install -g npm@latest
  • npm install -g node-gyp@latest
  • npm install -g typescript@latest

我仍然得到了missing node-gyp.js错误。有帮助的是,npm config set node_gyp 正确地将设置为指向正确的为建议在这里。然而,这个线程中的脚本对我没有正常工作(以及我尝试过的其他一些PowerShell/批处理脚本)。

最终,我想出了下面的PowerShell 6单列,它为我做了的把戏。

代码语言:javascript
复制
pwsh -Command npm config set node_gyp "`u{22}$(Join-Path $(npm root -g) -ChildPath 'node-gyp\bin\node-gyp.js')`u{22}"

希望这对其他人和未来的我都有帮助。我仍然建议查看上面的示例列表,以进行清洁故障排除。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57898822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档