1

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

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

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

任何想法为什么会发生?

4

1 回答 1

2

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

在 Ubuntu 14 上,有一个:

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

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

bash -i

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

[ -z "$PS1" ] && return

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

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

希望这会有所帮助。

于 2015-06-23T20:26:24.640 回答