无法在Linux 14.04上安装nvm

时间:2015-08-13 21:46:51

标签: linux amazon-ec2

我刚刚在亚马逊上启动了一个新的EC2实例,我试图安装nvm。我尝试使用NVM_DIR = ...运行他们的安装脚本进行全局安装:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | NVM_DIR = / usr / local / nvm bash

但是我收到了这个错误:

=>将nvm从git下载到' / usr / local / nvm' => mkdir:无法创建目录'/ usr / local / nvm':权限被拒绝

我也和sudo一起犯这个错误。我也尝试进入usr / local并手动创建nvm目录,但后来我得到了其他错误:

=>克隆到' / usr / local / nvm' ... /usr/local/nvm/.git:权限被拒绝

有谁知道为什么会这样?这是我不熟悉的权限吗?

编辑:使用版本较旧的版本而不使用NVM_DIR。我仍然想要全局访问,所以这不能解决问题

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | SH

1 个答案:

答案 0 :(得分:1)

您的普通用户无权写入/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
%

(有一种方法可以使整个装置成为单行,passing the environment variable through sudo,但我认为这不是必要的,而且有点复杂,恕我直言。)