在mac osx 10.10上通过自制软件安装git导致:错误:权限被拒绝 - /usr/local/lib/perl5/site_perl/5.18.2

Nie*_*ian 20 git macos homebrew github

嗨,我刚试过在我的mac上通过自制软件安装git - 出了点问题.我安装了mac app的github,但我尝试删除它.我系统中当前的git版本是:

Nielsk@~: $ git --version
git version 1.9.3 (Apple Git-50)
Run Code Online (Sandbox Code Playgroud)

如果我尝试通过自制软件安装git会发生这种情况:

Nielsk@~: $ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.1.3.y
######################################################################## 100,0%
==> Pouring git-2.1.3.yosemite.bottle.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The 'contrib' directory has been installed to:
  /usr/local/share/git-core/contrib

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied - /usr/local/lib/perl5/site_perl/5.18.2
Error: Permission denied - /usr/local/lib/perl5/site_perl/5.18.2
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

小智 52

我也遇到了同样的问题.我认为我们应该更改可读权限,以确保"all"可以读取任何目录.所以我尝试了命令:sudo chown -R $USER:admin /usr/local 然后:brew link --overwrite git它适用于我,希望它也适合你.

  • @NielsKristian:您可能在/ usr/local之前安装了某些(非Homebrew),或者在某些时候您使用写入/ usr/local的sudo运行命令.修改权限是您应该执行的操作以及Homebrew安装程序的功能.在Homebrew"issues"页面中有一个主要的主题,您可以在这里找到[https://github.com/Homebrew/homebrew/issues/9953#issuecomment-3800557].自制软件的维护者Mike McQuaid明确指出,更改/ usr/local privs是首选方式.你会看到他建议对Jonyzfu的权限进行类似的更改. (4认同)
  • @Jonyzfu虽然你的命令还可以,但我认为你的推理是错误的.sudo chown -R $ USER:admin/usr/local`并不能使所有人都能阅读`/ usr/local`中的所有内容.'-R'表示`recursive`.这个命令做的是改变`user`和`group`,以便有问题的$ USER和'admin`组是所有者.`$ USER`是一个变量,它保存您在运行命令时登录的用户的名称.如果您不是`admin`组的成员或您运行命令的用户,您可能会发现自己有限制性的readw/rite privs,具体取决于实际的目录/文件权限. (3认同)

Rya*_*yan 9

从高塞拉利昂,chown/usr/local是不允许的.但是,您仍然可以更改子目录的权限/usr/local.

就我而言,我不得不创建Frameworks/usr/localsudo chown -R $(whom) Frameworks.在那之后跟着brew doctor说什么.

更好的方法是创建你需要的子目录并运行

sudo chown -R $(whoami) $(brew --prefix)/*


Jen*_*n C 7

对于使用新El Capitan OS的用户,您需要更新您的权限:

打开终端并键入以下命令:

$ sudo chown -R $(whoami):admin /usr/local 
$ brew doctor 
$ brew update
$ brew link --overwrite git
Run Code Online (Sandbox Code Playgroud)

上述解决方案适用于其他brew安装,如节点等.如果您开始安装,只需更换最后一行,但在brew安装期间遇到错误.


mbb*_*mbb 5

permission denied在安装git之前我遇到了类似的错误,直到我清理完为止:

$brew doctor
   .....   << long output of issues, so you run:
$brew prune
$brew doctor
   .....   << less issues now, so manually clean up
$brew update 
$brew install git 
Run Code Online (Sandbox Code Playgroud)

这也解决了你的错误吗?