我想安装最新的Node.js版本
n latest
installing : node-v14.2.0
mkdir : /usr/local/n/versions/node/14.2.0
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: sudo required (or change ownership, or define N_PREFIX)
字符串
所有权有问题我试着解决
sudo chown -R $(whoami) /usr/local/n
型
同样的错误再次。
n latest
cp: cannot create directory '/usr/local/lib/node_modules': Permission denied
cp: cannot create regular file '/usr/local/bin/node': Permission denied
cp: cannot create symbolic link '/usr/local/bin/npm': Permission denied
cp: cannot create symbolic link '/usr/local/bin/npx': Permission denied
型
胡萝卜素
/usr/local/n$ ll
total 12
drwxrwxr-x 3 miki root 4096 мај 8 13:29 ./
drwxr-xr-x 11 root root 4096 мај 8 13:29 ../
drwxrwxr-x 3 miki miki 4096 мај 8 13:29 versions/
型
解决
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
型
5条答案
按热度按时间ddrv8njm1#
你只需要定义N_PREFIX。
第一个月
export N_PREFIX=$HOME/.n
个如果使用fishshell,请将以下内容添加到. config.fish文件中:
set -x N_PREFIX $HOME/.n
wwodge7n2#
首选的解决方案应该是通过定义
N_PREFIX
将默认位置覆盖到不需要管理员权限的目录。要将目录更新为用户目录,请使用以下命令:
字符串
文件参考:https://github.com/tj/n#optional-environment-variables
e4yzc0pl3#
Nodejs正确的方式,而不使用sudo。更新现有的正确安装:
字符串
参考:https://guillermo.at/update-node-proper-way
3htmauhk4#
我也遇到了这个问题,其实当前用户没有全局目录的权限。
尝试使用伊格纳西奥拉戈的答案中的解决方案并没有奏效,最终用下面的方法完美解决了:
1.首先用brew安装node,然后全局安装n。
字符串
1.执行n的诊断命令
型
它会列出问题是什么,只需参考错误列表中的帮助建议。
最后,记得卸载安装了brew的节点,就完美解决了。
型
好极了!
qcuzuvrc5#
上下文
默认情况下,
n
命令下载并安装到/usr/local
,默认情况下创建具有以下权限的/usr/local/n
文件夹:字符串
可能的解决方案
A.加入群组并授予写权限(更安全):
1.将自己添加到
wheel
组。1.1 macOS:
型
1.2 GNU/Linux:
型
1.允许
wheel
成员对该文件夹具有写入权限:型
B.直接将所有权更改为您的用户(更快):
您需要更改
n
存储node
版本所有权的位置:型
C.更改
n
保存节点二进制文件的文件夹等默认情况下,n命令下载并安装到/usr/local,但您可以通过定义N_PREFIX覆盖此位置。
来源:https://github.com/tj/n#optional-environment-variables
1.创建一个文件夹,即:
$HOME/.n
型
1.定义环境变量
N_PREFIX
,并将以下行添加到shell初始化文件中:2.1. bash (~/.bashrc) 或zsh (~/.zshrc):
型
2.2. fish (~/.config/fish/config.fish):
型
1.将新的二进制路径添加到环境的
$PATH
中:3.1. bash/zsh:
型
3.2.鱼:
型