我正在尝试生成一个新的Angular项目:
npm install -g @angular/cli
然后弹出一个我不知道如何解决的错误:
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules/@angular/cli/node_modules/@schematics/update/node_modules/npm-package-arg/node_modules/semver
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/@angular/cli/node_modules/@schematics/update/node_modules/npm-package-arg/node_modules/semver'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules/@angular/cli/node_modules/@schematics/update/node_modules/npm-package-arg/node_modules/semver']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules/@angular/cli/node_modules/@schematics/update/node_modules/npm-package-arg/node_modules/semver\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path:
npm ERR! '/usr/local/lib/node_modules/@angular/cli/node_modules/@schematics/update/node_modules/npm-package-arg/node_modules/semver' }
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/simonanikolova/.npm/_logs/2020-07-04T16_47_21_985Z-debug.log
一些其他可能与问题有关的特定事物:
我在Mac OS上有两次登录:管理员用户和个人用户
macOS Catalina版本:10.15.5
npm版本:6.14.5
TypeScript版本:3.5.3
角度版本:
Angular CLI:9.0.0 节点:10.16.1 操作系统:darwin x64
角度:未定义 ... 常春藤工作区:
包装版本 @ angular-devkit / architect 0.900.0(仅cli) @ angular-devkit / core 9.0.0(仅CLI) @ angular-devkit / schematics 9.0.0(仅CLI) @ schematics /角度9.0.0(仅限cli) @ schematics /更新0.900.0(仅CLI) webpack 4.43.0
ALSO::在研究如何解决该问题时,我试图更改文件权限: 我切换到管理员用户,然后在终端中输入:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
如果有人可以帮助我,我将非常高兴!谢谢!
答案 0 :(得分:2)
如果使用手动安装,则使用sudo安装软件包后,必须继续使用它来安装所有软件包。
解决您的情况可能会改变您的NPM's default folder
要最大程度地减少权限错误的可能性,可以将npm配置为使用其他目录。在此示例中,您将在主目录中创建并使用隐藏目录。
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
npm install -g jshint
NPM_CONFIG_PREFIX=~/.npm-global
另一个方法可能是使用节点管理器软件包(nvm,n)重新安装NPM