Node.js 为什么n抛出错误?错误:需要sudo(或更改所有权,或定义N_前缀)
我想安装最新的Node.js版本Node.js 为什么n抛出错误?错误:需要sudo(或更改所有权,或定义N_前缀),node.js,Node.js,我想安装最新的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) 所有权有问题。我试图解决这个
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
n中的权限
/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
上下文
默认情况下,这些通常是/usr/local/n
的权限:
drwxr-xr-x root wheel .
drwxr-xr-x root wheel ..
drwxr-xr-x root wheel versions
可能的解决方案
A.将所有权直接更改给您的用户(更快):
您需要更改n
存储节点的位置
版本所有权:
sudo mkdir-p/usr/local/n&&sudo chown-R$(whoami)/usr/local/n/
B.将自己添加到组并授予写入权限(更安全):
控制盘
组
马科斯:
sudo dseditgroup -o edit -a $(whoami) -t user wheel
sudo usermod -a -G wheel $(whoami)
wheel
成员可以在该文件夹上写入的内容:
sudo chmod -R g+w /usr/local/n/
您试图更改
~/.npm
的所有者,但它说它无法在/usr/local/n
中创建目录。那么我该怎么办?很显然,更改usr/local/n
的所有者sudo chown-R$(whoami)/usr/local/n
没有这样的文件或目录。sudo mkdir-p/usr/local/n&&sudo chown-R$(whoami)/usr/local/n