Windows,VSC,运行 npm start
得到了这个
npm WARN 生命周期 用于脚本的节点二进制文件是 C:\Program Files\nodejs\node.exe 但 npm 使用的是 C:\somewhere\AppData\Roaming\npm\node_modules\node\bin\node.exe 本身。使用 --scripts-prepend-node-path 选项来包含执行 npm 的节点二进制文件的路径。
我理解这意味着我的本地版本与 PATH 变量(C:\Program Files...)中的版本不同。如何继续告诉它使用 --scripts-prepend-node-path
?
我通过用 PATH 变量中的 C:\somewhere\AppData\Roaming\npm\node_modules\node\bin
替换 C:\Program Files\nodejs
玩了一个技巧,它确实选择了新的 node.exe 得到 but there is no node binary in the current PATH
。再次建议使用 --scrip ts-prepend-node-path
选项来包含执行节点二进制 npm 的路径
就像我说的,替换 PATH 系统变量中的实际路径并不能完全解决问题,它仍然抱怨二进制文件丢失。发现 this 解决了 there is no node binary in the current PATH
问题。于是我恢复了原来的PATH,然后:
只需在应用程序的根文件夹中创建一个名为 .npmrc 的文件,将这一行放入其中:scripts-prepend-node-path=true
这是另一种可行的方法:npm config set scripts-prepend-node-path auto
你的节点二进制文件和你的 npm 之间的冲突
如果错误看起来像:
npm 正在尝试使用与它自己运行的节点相同的节点。
通过将节点目录添加到您的 PATH
来解决此冲突:
npm config set scripts-prepend-node-path true
npm run 将 NODE 环境变量设置为执行 npm 的节点可执行文件。此外,如果传递了 --scripts-prepend-node-path ,则将节点所在的目录添加到 PATH
在 Visual Studio 2017 中遇到这个问题,我告诉 VS 始终使用我从 nodejs.org 安装的 NodeJS,而不是 Visual Studio 附带的即时冻结的。 (VS2015 附带的那个太古老了,它不再真正工作了。)
在 Visual Studio 中,转到 TOOLS > OPTIONS > 搜索 EXTERNAL WEB TOOLS > 并确保“C:\Program Files\nodejs”(或安装 nodejs.org 的任何位置)位于路径列表的首位,如有必要,请添加。
对于 WebStorm,使缓存无效并重新启动对我有用。
npm config set scripts-prepend-node-path auto
命令答案没有。谢谢。