无法从新 bash 执行 nvm

Can't execute nvm from new bash

当我打开一个新的 bash 时,找不到 nvm 命令。似乎 ~/.nvm/nvm.sh 没有在 bash 启动时加载。

我已将下面的行添加到 ~/.bashrc

[[ -s /home/$USER/.nvm/nvm.sh ]] && . /home/$USER/.nvm/nvm.sh

知道为什么会这样吗?

如果您 运行ning 来自一个新的 bash 实例,并且您在 ~/.bashrc、~/.bash_profile 中有初始化代码等,那么你需要检查这个初始化文件的条件。

在Ubuntu14,有一个:

case $- in
    *i*) ;;
      *) return;;
esac

在第 6 行,如果 bash 没有被 运行 使用“-i”(交互式)标志,它将停止执行。所以你需要 运行:

bash -i

此外,在文件末尾,有一个

[ -z "$PS1" ] && return

如果没有设置 $PS1 的 运行(就像在远程 ssh 会话上一样),它将停止执行。

如果您不想添加任何环境变量或标志,则需要从初始化文件中删除这些条件。

希望对您有所帮助。