【问题标题】:How to include the path for the node binary npm was executed with如何包含节点二进制 npm 的路径
【发布时间】:2018-12-19 23:19:54
【问题描述】:

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:\Program Files\nodejs 替换为 C:\somewhere\AppData\Roaming\npm\node_modules\node\bin 玩了一个技巧,它确实选择了新的 node.exe 得到 but there is no node binary in the current PATH。再次推荐使用 --scrip ts-prepend-node-path 选项来包含节点二进制 npm 执行的路径

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    就像我说的,替换 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 命令答案没有。谢谢。
    • 只是想补充一点,截至 2021 年 7 月,这仍然有效。
    【解决方案2】:

    在 Visual Studio 2017 中遇到此问题,我改为告诉 VS 始终使用我从 nodejs.org 安装的 NodeJS,而不是 Visual Studio 附带的即时冻结的。 (VS2015 自带的那个太老了,现在已经不能用了。)

    在 Visual Studio 中,转到 TOOLS > OPTIONS > 搜索 EXTERNAL WEB TOOLS > 并确保“C:\Program Files\nodejs”(或安装了 nodejs.org 的任何位置)位于路径列表的第一位,如果必要的。

    【讨论】:

      【解决方案3】:

      这是另一种可行的方法:npm config set scripts-prepend-node-path auto

      【讨论】:

      • 由于这个问题似乎发生在不同的项目中,这是最好的答案,因此您不需要在每个项目中创建一个 .npmrc 文件,这是公认的答案所暗示的。跨度>
      • 接受这个作为已接受的答案,因为 a) 它可以工作(在我的所有环境中)和 b) 正如 @kas 指出的那样,它让生活更轻松。
      【解决方案4】:

      你的节点二进制文件和你的 npm 之间的冲突


      如果错误看起来像这样:

      npm 正在尝试使用与它自己运行的节点相同的节点。

      通过将节点目录添加到您的PATH 来解决此冲突:

      npm config set scripts-prepend-node-path true
      

      From the npm documentation:

      npm run 将 NODE 环境变量设置为节点可执行文件 哪个 npm 被执行。此外,如果 --scripts-prepend-node-path 是 通过,将节点所在的目录添加到PATH

      【讨论】:

        【解决方案5】:

        对于 WebStorm,使缓存无效并重新启动对我有用。

        【讨论】:

          猜你喜欢
          • 2011-06-21
          • 1970-01-01
          • 1970-01-01
          • 2016-12-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-20
          • 2013-10-27
          相关资源
          最近更新 更多