运行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调用构建时才会发生错误,即:
npm run buildpackage.json文件scripts部分:
"scripts": {
...
"build": "node-gyp build",
}如果在npm上下文之外手动调用node-gyp build,则错误将消失。
如何消除错误,并仍然使用npm脚本进行构建?
发布于 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 nodejsrd /s %AppData%\npm\rd /s %AppData%\npm\choco install nodejsnpm install -g npm@latestnpm install -g node-gyp@latestnpm install -g typescript@latest我仍然得到了missing node-gyp.js错误。有帮助的是,npm config set node_gyp 正确地将设置为指向正确的为建议在这里。然而,这个线程中的脚本对我没有正常工作(以及我尝试过的其他一些PowerShell/批处理脚本)。
最终,我想出了下面的PowerShell 6单列,它为我做了的把戏。
pwsh -Command npm config set node_gyp "`u{22}$(Join-Path $(npm root -g) -ChildPath 'node-gyp\bin\node-gyp.js')`u{22}"希望这对其他人和未来的我都有帮助。我仍然建议查看上面的示例列表,以进行清洁故障排除。
https://stackoverflow.com/questions/57898822
复制相似问题