使用npm命令时报错误Error: EACCES: permission denied,如何解决?

搬运https://zhuanlan.zhihu.com/p/250812475

$ npm install -g yo generator-code
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: cross-spawn no longer requires a build toolchain, use it instead
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/u51zhang/.npm/_logs/2021-03-25T07_58_41_310Z-debug.log

官方的解决方案:https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally/

官方提供了两种解决方案:

  1. 重新安装一个node version manager。(官方推荐)
    参考地址:https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
    注:这个方法比较繁琐,我选择的是第二种方案。

2.改变npm默认的路径。

步骤如下:
进入终端,依次输入一下命令
(1)创建global安装任务的目录
mkdir ~/.npm-global
(2)配置npm使用新的目录
npm config set prefix '~/.npm-global'
(3)在~/.profile文件中增加配置
export PATH=~/.npm-global/bin:$PATH
(4)配置文件立即生效
source ~/.profile
(5)重新执行命令
npm install -g xxxx 

你可能感兴趣的:(使用npm命令时报错误Error: EACCES: permission denied,如何解决?)