我有一个基本的任务设置来构建我的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"
注意:Node
和NPM
都使用NVM
安装
如果我从我的收藏夹或通过活动打开编辑器,我会收到上述错误。如果我从命令行打开,它工作正常。如何在不必每次都从命令行打开的情况下工作?
发生这种情况是因为没有为任务加载.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
您可能需要注销并重新登录才能使其生效。