Node.js 为什么n抛出错误?错误:需要sudo(或更改所有权,或定义N_前缀)

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) 所有权有问题。我试图解决这个

我想安装最新的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
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
    
  • GNU/Linux:

        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