我刚刚在亚马逊上启动了一个新的EC2实例,我正在尝试安装nvm。我尝试使用NVM_DIR=…运行他们的安装脚本进行全局安装:
curl-o-https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh|NVM_DIR=/usr/local/nvm bash
但我得到这个错误:
=
我也用sudo得到这个错误。我还尝试进入usr/local并手动创建nvm目录,但后来我收到了其他类似的错误:
=
有人知道为什么会这样吗?是我不熟悉的aws上权限的事情吗?
编辑:使用一个更旧的版本,没有NVM_DIR的东西起作用。不过,我仍然想要全局访问,所以这并不能解决问题
卷曲https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh|sh
您的普通用户无权写入/usr/local
,因此您需要以root/sudo身份运行安装脚本。
您的curl
命令可以作为您的用户运行。事实上,最好在运行文件之前将文件卷曲到本地位置,这样您就可以看到它——除非您有理由相信它是一个非常值得信赖的脚本。所以抓住install.sh
脚本:
% curl -O https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh
% $EDITOR install.sh # feel free to look it over
然后使用sudo
安装它:
% sudo -i # become root temporarily
# export NVM_DIR=/usr/local/nvm # set the environment variable
# bash install.sh # run installer as root
# exit
%
(有一种方法可以使整个安装成为一个单行程序,通过sudo传递环境变量,但我认为没有必要,而且有点复杂,IMHO。)