繁体   English   中英

错误:EACCES:权限被拒绝,访问'/usr/local/lib/node_modules/ANGULAR

[英]ERROR: EACCES: permission denied, access '/usr/local/lib/node_modules/ ANGULAR

我正在尝试生成一个新的 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版本:

    Angular CLI:9.0.0 节点:10.16.1 操作系统:darwin x64

    Angular:未定义...常春藤工作区:

    Package 版本 @angular-devkit/architect 0.900.0 (cli-only) @angular-devkit/core 9.0.0 (cli-only) @angular-devkit/schematics 9.0.0 (cli-only) @schematics/angular 9.0。 0(仅限 cli)@schematics/update 0.900.0(仅限 cli)webpack 4.43.0

另外:在我研究如何解决问题的过程中,我试图更改我的文件权限:我切换到我的管理员用户并在终端中输入:

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

如果有人可以帮助我,我将非常高兴! 谢谢!

如果您使用手动安装,一旦您使用 sudo 安装了 package,您必须继续使用它来安装它们。

解决您的情况的方法可能是更改NPM 的默认文件夹

为了尽量减少权限错误的机会,您可以将 npm 配置为使用不同的目录。 在此示例中,您将在主目录中创建和使用隐藏目录。

  • 备份您的计算机
  • 在命令行的主目录中,为全局安装创建一个目录: mkdir ~/.npm-global
  • 配置 npm 使用新的目录路径: npm config set prefix '~/.npm-global'
  • 在您喜欢的文本编辑器中,打开或创建一个 ~/.profile 文件并添加以下行: export PATH=~/.npm-global/bin:$PATH
  • 在命令行上,更新您的系统变量: source ~/.profile
  • 要测试您的新配置,请在不使用 sudo 的情况下全局安装 package: npm install -g jshint
  • 除了步骤 2-4,您可以使用相应的 ENV 变量(例如,如果您不想修改 ~/.profile): NPM_CONFIG_PREFIX=~/.npm-global

另一种方法可能是使用节点管理器 package (nvm, n) 重新安装 NPM

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM