Windows,VSC,运行npm start
得到了这个
npm WARN lifecycle用于脚本的节点二进制文件是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的节点二进制文件的路径
5条答案
按热度按时间enxuqcxy1#
就像我说的,替换PATH系统变量中的实际路径并没有完全解决这个问题,它仍然抱怨二进制文件丢失。发现this解决了
there is no node binary in the current PATH
问题。所以我恢复了原始PATH,然后:只需在应用的根文件夹中创建一个名为**.npmrc**的文件,将以下行放入其中:
scripts-prepend-node-path=true
个pexxcrt22#
下面是另一种工作方式:
npm config set scripts-prepend-node-path auto
s5a0g9ez3#
Node Binary和NPM冲突
如果错误看起来像这样:
npm正在尝试使用与它用来运行自己的节点相同的节点。
通过将节点目录添加到
PATH
来解决此冲突:字符串
From the npm documentation:
npm run将NODE环境变量设置为npm执行时使用的节点可执行文件。此外,如果传递了--scripts-prepend-node-path,则会将节点所在的目录添加到PATH中
xghobddn4#
在Visual Studio 2017中出现了这个问题,我告诉VS总是使用我从nodejs.org安装的NodeJS,而不是Visual Studio附带的冻结时间。(VS2015附带的那个太老了,它不再工作了。)
在Visual Studio中,转到TOOLS > OPTIONS > search for EXTERNAL WEB TOOLS >,并确保“C:\Program Files\nodejs”(或nodejs.org安装的任何位置)位于路径列表的第一位,必要时添加它。
ma8fv8wu5#
对于WebStorm,无效缓存和重新启动对我来说很有效。