我正在尝试将我的节点版本更新到最新稳定版本。
使用此资源我以前可以:
sudo npm install n -g
但当我尝试
sudo npm n stable
我得到:
sudo: n: command not found
如果我运行n stable
,则会出现以下命令:
n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
install : node-v0.12.2
mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: sudo required
答案1
答案2
令人惊讶的是,您的npm
安装在主目录上的文件夹中具有全局前缀npm
,这意味着任何使用该-g
标志安装的包都将安装在此文件夹中。
sudo
您可以按照以下步骤将此文件夹更改为安全路径上的任何文件夹:
图形方式:
- 打开文件管理器(又名 Nautilus)。
- 导航到您的主文件夹。
- 按Ctrl+H显示隐藏文件。
.npmrc
使用您最喜欢的文本编辑器打开一个名为 的文件。在该文件中找到包含以下内容的行:
prefix=/home/<your_username>/npm
- 用安全路径替换
/home/<your_username>/npm
(例如/usr/local/bin
)。 一旦替换它将看起来像这样:
prefix=/usr/local/bin
- 保存文件。
- 再次运行
sudo npm install n -g
端子方式:
运行此命令:
sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc
答案3
我知道这是一个 Ubuntu 论坛,但我确信这会帮助那些像我一样在 RHEL 版本上遇到同样问题的人。也许它也适用于 Ubuntu。
这是方法:
ln -s /usr/local/bin/n /usr/bin/n