【问题标题】:EACCES: permission denied when trying to generate Angular componentEACCES:尝试生成 Angular 组件时权限被拒绝
【发布时间】:2019-05-04 01:38:44
【问题描述】:

当我尝试为我的 Angular 应用程序生成一个新组件时,我立即收到一个权限被拒绝错误,但我不知道为什么。我尝试运行的命令是

ng g component heroes

我已经在项目文件夹及其所有包含的文件上尝试了 chmod -R 755 ,但不幸的是这并没有改变结果。

这是我在运行命令时收到的错误消息。

EACCES: permission denied, mkdir '/Users/mynamehere/Documents/Web Dev/projects/angular/angular-tour-of-heroes/src/app/heroes'
[Finished in 3.5s with exit code 1]
[cmd: ['ng', 'g', 'component', 'heroes']]
[dir: /Users/evanjameson/Documents/Web Dev/projects/angular/angular-tour-of-heroes]
[path: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/smlnj/bin]

这是来自 sublime 中的 AngularCLI 包。当我在终端中运行相同的命令时,我会收到相同的错误消息。

【问题讨论】:

  • 尝试使用 sudo 运行 sublime 或使用 sudo 运行 ng

标签: angular angular-cli


【解决方案1】:

尝试chmod 777(而不是755)并查看生成的文件的所有者。可能 sublime 运行在与你不同的 uid 下

【讨论】:

  • 这修复了它! Sublime 也能够运行该命令! 777 而不是 755 有什么意义?
  • 777 允许每个人写入目录 - 通常 不是一个安全的选择。我的建议是在您设置为 777 之后,您将看到谁是文件的所有者。这可能是 sublime 运行的帐户。然后你可以决定做什么 - 也许chown该帐户的目录,或者chown组并将权限设置为775......根据你的情况有几个选项 - 但不要离开权限为 777;这只是一个故障排除步骤!
  • 以下是 chmod 777 "drwxrwxr-x 16 root staff 512 May 3 17:50 src" 之后的权限,我将它切换到 775,它仍然有效,应该没问题吧?
猜你喜欢
  • 2020-06-03
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 2015-07-20
  • 2016-03-14
  • 2016-11-14
  • 2014-01-24
相关资源
最近更新 更多