我正在尝试按照这些说明安装NVM
我在终端输入了这个命令:
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
运行install后,重启终端并尝试使用以下命令安装Node.js:
$ nvm install 0.8
但我得到的回答是:
-bash: nvm: command not found
我不知道我哪里做错了。
额外的信息,
我一直在其他帖子和论坛中寻找解决方案。我找到了另一个解决办法
$ git clone git://github.com/creationix/nvm.git ~/.nvm
但是每次我尝试的时候,这个就会超时。任何帮助都将不胜感激。谢谢。
nvm install脚本默认将初始化代码添加到$HOME/。配置文件,它只由登录shell加载(在桌面环境中,您可能永远不会看到登录shell)。
登录shell中的nvm命令不会传播到子shell(如登录后的控制台窗口和IDE终端)。这个片段在你的$HOME/。Bashrc只会加载NVM,如果它是一个交互式shell并且还没有被加载
# if nvm dir is not set and the standard nvm directory exists
if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then
# set nvm dir
export NVM_DIR="$HOME/.nvm"
fi
# if nvm dir is set and this shell is interactive
if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then
# if nvm command is not defined
if ! type -t nvm >/dev/null ; then
# set it
source "$NVM_DIR/nvm.sh"
fi
fi
把这个放在$HOME/。Bashrc文件将修复交互式bash shell中缺少NVM的问题,即使是从gui,即使NVM安装在非标准位置。
与问题没有直接联系,但可能会发生类似的问题,看看这个问题:无法从new bash执行nvm
以下是我对那篇文章的回答,仅供参考:
如果您正在从一个新的bash实例运行,并且您的~/。bashrc,(~ /。Bash_profile等,然后需要检查这个初始化文件中的条件。
在Ubuntu 14上,有一个:
case $- in
*i*) ;;
*) return;;
esac
在第6行,如果bash没有使用“-i”(交互式)标志运行,将暂停它的执行。所以你需要运行:
bash -i
此外,在文件的末尾,有一个
[ -z "$PS1" ] && return
如果没有使用$PS1设置运行(就像在远程ssh会话上),这将停止它的执行。
如果您不希望添加任何env变量或标志,则需要从初始化文件中删除这些条件。
希望这对大家有帮助。