【问题标题】:Cannot find runtime 'node' on PATH - Visual Studio Code and Node.js在 PATH 上找不到运行时“节点”-Visual Studio Code 和 Node.js
【发布时间】:2023-04-10 10:48:01
【问题描述】:

下载并安装了 Visual Studio Code 1.2.1 版本,并将 64 位版本的 node.exe msi 放在我的工作目录中(我假设这是正确的),我们如何添加 node 和 npm 命令行工具在我们的路径上?我对这种说法的理解感到困惑。我们在哪里以及如何实现它?我直接从这个资源页面的顶部引用这个要求 - https://code.visualstudio.com/Docs/runtimes/nodejs

由于我目前的情况,我在 app.js 文件中设置了一个断点。当我按下 F5 时,它会告诉我...

Cannot find runtime 'node' on PATH 

我完全迷失在 Visual Studio Code 中理解和解决这个问题。

【问题讨论】:

  • 正确安装后,您应该已经在 PATH 下拥有 nodenpm。您使用的是什么操作系统,您是如何安装它们的?
  • 是的,我就是这么想的。我在 Windows 10 上。我去了这里 -nodejs.org/en/download 并将 Windows 二进制文件下载到我的工作文件夹中。然后,我使用 VSC 中的命令行来检查 node --help 是否有效,并且确实有效。但是当我按 F5 调试 .js 文件时,我得到了这个错误。如果我错过了一步,请纠正我。谢谢
  • 以防其他人遇到我的问题:退出并重新打开为我解决了这个问题。

标签: node.js visual-studio-code


【解决方案1】:

首先以超级用户身份运行以下命令 sudo code . --user-data-dir='.' 它将打开可视化代码工作室导入您项目的文件夹并设置launch.json如下

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/app/release/web.js",
            "outFiles": [
                "${workspaceFolder}/**/*.js"
            ],
            "runtimeExecutable": "/root/.nvm/versions/node/v8.9.4/bin/node"
        }
    ]
}

runtimeExecutable 的路径将是"which node" 命令的输出。

在调试模式下运行服务器 干杯

【讨论】:

  • 天才。还要提一下,使用 nvm 安装节点是一个好习惯。
  • 运行后得到这个:" sudo: code: command not found"'
【解决方案2】:

在 OSX 和 VSCode 1.56.2 上,我所要做的就是关闭并重新启动 VSCode,问题就消失了。

【讨论】:

  • 我必须重新运行Shell command: Install 'code' command in PATH. 才能重新启动 VSCode:(CMD+SHIFT+P 并开始输入命令名称)
  • 这是正确的(就我而言)。可悲的是,我已经多次遇到这种情况,并且我一直在回复您的答案。谢谢@大卫
  • 似乎是最近的一个错误。这在 OSX Catalina 上为我解决了这个问题
  • 哇,真的。这适用于 VSCode 插件 jest-runner。
  • 我尝试重新启动 VSCode,但这对我不起作用。重新启动我的电脑工作。我也在 M1 Mac 上使用 MacOS big sur
【解决方案3】:

为了跟进,我也遇到了这个问题。当我安装 Node.js 时,有一个选项说 Add to PATH (Available After Restart)。似乎 Windows 只需要重新启动就可以正常工作。

【讨论】:

  • 在不向 PATH 中添加节点的情况下,便携式设置怎么样,有没有办法解决这个问题,对我来说似乎是一个可怕的限制。]
  • 这是我的问题。我通过启动一个新的命令提示符并从命令提示符启动 vs code 避免了重新启动
  • 在windows上配置PATH需要重启(安装向导中提到)
【解决方案4】:

对我有用的快速修复。从命令行 (cmd) 导航到文件夹的根目录。然后进入根目录后,输入:

code . 

然后,按回车键。注意“.”,不要忘记。现在尝试调试,看看是否出现同样的错误。

【讨论】:

  • 这对我有用。谢谢!你能解释更多吗?
【解决方案5】:

我在我的终端上做了which node/usr/local/bin/node

然后我添加了 "runtimeExecutable": "/usr/local/bin/node" 在我的 json 文件中。

【讨论】:

    【解决方案6】:

    所以节点被踢出路径。你可以做

           SET PATH=C:\Program Files\Nodejs;%PATH%
    

    或者简单地重新安装节点来解决这个问题。您认为对您来说最简单的方法

    【讨论】:

    • 感谢您的快速提示!如果我设置路径,我是否在命令提示符中写出确切的行?还是在一个文件中?感谢您的指导。
    • 这可以通过命令行编写,请注意路径中可能需要双引号
    • 今晚我会试一试。再次感谢您的快速帮助!
    • 这太有趣了 - 感觉昨晚 6:00 pm,我让我的 windows 10 笔记本电脑进入睡眠状态。今天早上 8 点 44 分将其唤醒,并再次尝试 F5 我的 javascript 文件。现在调试器可以工作了。看起来路径像你说的那样关闭了,但似乎应用程序自己更正了......?奇怪。
    【解决方案7】:

    对我来说,node 二进制文件在 PATH 中,我可以从终端(iTerm 或终端)运行它,并且终端应用程序设置为使用 zsh

    如果您使用的是 Mac、iTerm 和 Zsh,请使用以下 VSCode 设置以使 Node 工作。

    进行此更改后,您可以从 launch.json 配置文件中删除此行。 (VSCode中的调试设置)

        "runtimeExecutable": "/usr/local/bin/node"
    

    如果这不起作用,请确保将默认 shell 选择为 zsh。为此,

    • 使用 Cmd+Shift+P

      打开命令面板
    • 查找Terminal: Select Default Shell 命令

    • 从选项中选择zsh

    【讨论】:

      【解决方案8】:

      有同样的问题,在我的情况下,这是 vs code 扩展的问题。尝试运行代码:

      $ code --disable-extensions
      

      在编辑器中,我在调试模式下运行我的程序并工作,然后开始代码

      $ code
      

      它继续正常工作。

      希望它对你有用。

      【讨论】:

      • 更新到 macOS Catalina 后,这是唯一对我有用的东西。谢谢!
      • 这是迄今为止唯一对我有用的解决方案。
      【解决方案9】:

      我在 Linux 上遇到了类似的 zsh 和 nvm 问题,我通过在 ~/.profile 中添加 nvm 初始化脚本并像这样重新启动登录会话来修复它

      export NVM_DIR="$HOME/.nvm" 
       [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm 
       [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
      

      【讨论】:

        【解决方案10】:

        通过 NVM 应用默认节点版本

        我正在使用 macOS Big Sur 并通过 nvm 设置默认版本,通过运行以下命令为我解决了这个问题:nvm alias default 14(将 14 更改为您想要的默认版本)。

        请注意,node 在终端中对我来说工作正常(使用 zsh 和 bash),但在通过 vscode 调试器运行时却不行,而且我已经在 ~/.zshrc 和 ~/.bash_profile 中加载了以下配置在nvm:

        export NVM_DIR="$HOME/.nvm"
        [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
        [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
        

        直到我设置了默认的 Node 版本,vscode 才能正常启动节点目标。

        【讨论】:

        • 老兄,你救了我的命,我相信这是造成这个问题的主要原因,奇怪的是 VScode 开发人员刚刚在 GitHub 上锁定了这个问题。
        【解决方案11】:

        我使用/bin/zsh,并更改了 vscode 以执行相同的操作,但不知何故 vscode 仍然使用来自/bin/bash 的路径。所以我创建了一个 .bash_profile 文件,路径中有节点位置。

        只需在终端中运行:

        echo "PATH=$PATH
        export \$PATH" >> ~/.bash_profile
        

        重启vscode,就可以了。

        【讨论】:

          【解决方案12】:

          我也遇到了这个错误。重启电脑对我有用。

          【讨论】:

          • 它无关紧要,它与您需要重新启动的会话有关:您只需注销然后重新登录。无需重启电脑
          【解决方案13】:

          我收到此错误的原因是尝试新的预发布 VSCode JS 调试器。

          如果您选择加入,请通过用户设置进行更改:

              "debug.javascript.usePreview": true|false
          

          我的正常配置和集成终端中的所有内容都是正确的,并且可以找到可执行文件。我浪费了很多时间尝试其他事情!

          【讨论】:

          • 我正在使用 vscode Insiders 版本 1.46.0-insider,但我必须将其设置为 false 以使调试器达到断点。我正在使用 jasmine-test-explorer。现在我只需要弄清楚为什么没有从我的 NVM 安装中获取节点版本;相反,它使用的是带有 vscode 的捆绑节点版本。
          • 嗯,在这种情况下,您可以尝试指定 runtimeVersion 以匹配您正在使用的 Node 环境。其他人还说从命令行启动代码可以更可靠地获取环境,例如cd project 然后code-insiders .
          • debug.javascript.usePreview 从 VSCode 1.60.0 开始不再可用。查看This answer中有关如何使用旧版调试器的选项
          【解决方案14】:

          不要从开始菜单单独启动 VS 代码。使用

          $代码。

          启动 VS 代码的命令。现在,创建扩展名为 .js 的文件并开始调试 (F5) 它。它将被执行。

          否则,请重新启动系统并执行相同的过程。

          【讨论】:

            【解决方案15】:

            我在禁用ESLint 扩展后解决了这个问题。

            【讨论】:

              【解决方案16】:

              我在 OSX 上,这对我不起作用:

              code . --user-data-dir='.'
              

              但这确实有效:

              code . -data-dir='.'
              

              【讨论】:

                【解决方案17】:

                这是根据VS代码调试页面的解决方案。 这适用于我在 Windows 10 上的设置。

                "version": "0.2.0",
                "configurations": [
                {
                    "type": "node",
                    "request": "launch",
                    "name": "Launch Program",
                    "program": "${file}"
                }
                

                解决办法在这里:

                https://code.visualstudio.com/docs/editor/debugging

                这是为 Node.js 调试生成的启动配置

                【讨论】:

                  【解决方案18】:

                  我也遇到过这个问题。做了以下操作,它得到了修复。

                  1. 打开您的计算机终端(不是 VSCode 终端)并键入 node --version 以确保您已安装节点。如果没有,则使用nvm 安装node
                  2. 然后转到您的 bash 文件(例如 .bashrc、.bash_profile、.profile)并添加 PATH:
                   [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm 
                   [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
                  
                  1. 如果您有多个 bash 文件,请确保将 PATH 添加到所有文件中。
                  2. 重启你的 VSCode 终端应该没问题。

                  【讨论】:

                    【解决方案19】:

                    (CMD+SHIFT+P) Shell 命令:在 PATH 中安装 'code' 命令

                    应该做的伎俩!

                    【讨论】:

                      猜你喜欢
                      • 2017-05-27
                      • 2019-07-17
                      • 2019-10-29
                      • 1970-01-01
                      • 2018-07-02
                      • 2018-03-26
                      • 1970-01-01
                      • 2020-07-20
                      • 1970-01-01
                      相关资源
                      最近更新 更多