【问题标题】:/usr/bin/env: ‘node’: No such file or directory when running vscode task/usr/bin/env: ‘node’: 运行 vscode 任务时没有这样的文件或目录
【发布时间】:2019-02-07 10:15:17
【问题描述】:

我有一个基本的任务设置来构建我的 TypeScript 和 Sass 文件。它看起来像这样:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Gulp Build",
      "group": "build",
      "command": "./node_modules/.bin/gulp",
      "type": "shell",
      "args": [
        "build"
      ],
      "problemMatcher": []
    }
  ]
}

当我按 Ctrl+Shift+B 选择构建任务时,我选择了上面的那个,在我的终端中我得到了这个:

> 执行任务:./node_modules/.bin/gulp build

/usr/bin/env: ‘node’: 没有这样的文件或目录
终端进程以退出代码终止:127

我已经导出了变量:

.gnomerc.bashrc

export PATH="$NVM_BIN:$NPM_HOME:$PATH"

注意:NodeNPM 都是使用 NVM 安装的

如果我从我的Favorites 或通过Activity 打开编辑器,我会收到上述错误。如果我从命令行打开,它工作正常。我怎样才能让它工作而不必每次都从命令行打开?

【问题讨论】:

  • 嗨@get-off-my-lawn,如果它对你有用,请接受答案,如果没有,请发表评论。谢谢!

标签: node.js ubuntu gulp visual-studio-code


【解决方案1】:

发生这种情况是因为 .bashrc 没有为任务加载,因为它们是非交互式 shell。您还需要为非交互式 shell 加载 nvm shell 增强功能,以便使用通过 nvm 安装的全局包以供 VS Code 使用。

创建一个名为 nvm-autoload.sh 的新文本文件,并将其放在 /etc/profile.d/ 文件夹中,以便为所有登录 shell 运行它,其中包括 VS Code 的任务 shell。将以下内容添加到该文件中:

# Enable nvm if available
if [ -f ~/.nvm/nvm.sh ]; then
  source ~/.nvm/nvm.sh
fi

您可能需要注销并重新登录才能生效。

【讨论】:

  • 谢谢!完美运行。但对于 mac,它是 /etc/profile
  • 在 Ubuntu 20.04、vscode 1.61.0 中为我工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 2016-02-20
  • 2014-05-30
  • 2011-04-08
  • 2013-03-11
  • 2019-12-11
  • 2013-02-27
相关资源
最近更新 更多