运行sudo chown -R $ USER / usr / local是否安全?

时间:2018-02-06 08:59:10

标签: node.js macos npm

尝试更新到最新版本的npm并获得此权限错误。想知道是否有任何重大问题可以通过更新到最新版本的npm而出错,并且确定sudo chown -R $ USER / usr / local可能出现的错误。我在线阅读的建议是运行它以更改权限。

除了“sudo”,如果我能得到一个解释,其余的意思是冷静。

 npm i -g npm
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm ERR! path /usr/local/share/man/man5
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/share/man/man5'
npm ERR!  { Error: EACCES: permission denied, mkdir '/usr/local/share/man/man5'
npm ERR!   cause: 
npm ERR!    { Error: EACCES: permission denied, mkdir '/usr/local/share/man/man5'
npm ERR!      errno: -13,
npm ERR!      code: 'EACCES',
npm ERR!      syscall: 'mkdir',
npm ERR!      path: '/usr/local/share/man/man5' },
npm ERR!   stack: 'Error: EACCES: permission denied, mkdir \'/usr/local/share/man/man5\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/share/man/man5' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.


   ╭─────────────────────────────────────╮
   │                                     │
   │   Update available 5.5.1 → 5.6.0    │
   │     Run npm i -g npm to update      │
   │                                     │
   ╰─────────────────────────────────────╯

现在,当我在终端输入npm -v时尝试更新npm失败后,我发现npm:命令未找到。

当我运行node -v时,最新版本是v8.9.1

THX

1 个答案:

答案 0 :(得分:1)

使用sudo运行npm。更改/usr/local/的权限是不好的建议。