如何在 ubuntu 16.04 中更改 npm 目录的权限

如何在 ubuntu 16.04 中更改 npm 目录的权限

尝试运行以下命令时出现 EACCES 错误:

npm i -g node-static

错误的详细信息如下:

npm WARN checkPermissions Missing write access to /usr/local/node- 
v9.11.1-linux-x64/lib/node_modules
npm ERR! path /usr/local/node-v9.11.1-linux-x64/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/node- 
v9.11.1-linux-x64/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/node- 
v9.11.1-linux-x64/lib/node_modules'
npm ERR!   stack: 'Error: EACCES: permission denied, access 
\'/usr/local/node-v9.11.1-linux-x64/lib/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/node-v9.11.1-linux-x64/lib/node_modules' 
}
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:

所以我搜索了一下并找到了解决方案这里通过以下任一命令更改所有权:

sudo chown -R $(whoami) ~/.npm

或者 :

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

但后来有少数用户说不要破解权限,以正确的方式安装节点。由于我是 Ubuntu 新手,因此对破解权限是否安全感到困惑。

我通过上面的命令得到的结果是,它将 npm 目录及其子目录的所有权更改为主要用户(即我),但此所有权更改仅针对该特定 npm 目录,而不是其他内容,对吗?请告诉我这种方法是否安全且好用,谢谢!

相关内容