Homebrew 不会链接 git

Yan*_*all 11 git permissions homebrew macos

当我通过安装 git 或升级 git 时,brew我无法将它与brew link git. 如果我尝试sudo brew link git我得到:

怯懦地拒绝 sudo brew link

它说我必须检查以下权限:

/usr/local/share/gitk/lib
/usr/local/share/git-gui/lib
/usr/local/share/git-core/templates
/usr/local/share/git-core/templates/hooks
/usr/local/share/git-core
Run Code Online (Sandbox Code Playgroud)

chmod把所有东西都改成了 777,但我不确定它是否好。

我现在可以链接 git。我应该将许可更改为不那么宽松吗?

slh*_*hck 5

777 权限在这里不一定是坏事——您可能永远不会遇到权限问题,而且我认为这不是一个巨大的安全问题。

无论如何,/usr/local/shareHomebrew 所需的“正常”权限应该是(递归地)755,因此rwxr-xr-x.

chmod -R 755 /usr/local/share
Run Code Online (Sandbox Code Playgroud)

至少brew不需要 sudo 权限就可以在那里做任何事情。Only/usr/local由 拥有root,但对staff您的用户应在其中的组可写。

要修复现有的 Homebrew 安装,请查看这个 gist,这是一个将尝试更正您的/usr/local权限的脚本。


例如,这是我的(理智的)Homebrew 安装之一的目录列表,这ghostscript是唯一需要的例外sudo brew link

aeneas:local werner$ ls -la /usr/local/share/
total 40
drwxr-xr-x  11 werner  staff  374 Mar  5 14:53 .
drwxrwxr-x  14 werner  staff  476 Feb 28 12:51 ..
drwxr-xr-x   6 werner  staff  204 Mar  5 14:54 aclocal
drwxr-xr-x   8 werner  staff  272 Mar  5 14:53 doc
lrwxr-xr-x   1 werner  staff   34 Feb  8 12:26 ffmpeg -> ../Cellar/ffmpeg/0.10/share/ffmpeg
drwxr-xr-x   4 werner  wheel  136 Apr 16  2010 ghostscript
lrwxr-xr-x   1 werner  staff   36 Mar  5 14:53 git-core -> ../Cellar/git/1.7.9.2/share/git-core
lrwxr-xr-x   1 werner  staff   35 Mar  5 14:53 git-gui -> ../Cellar/git/1.7.9.2/share/git-gui
lrwxr-xr-x   1 werner  staff   32 Mar  5 14:53 gitk -> ../Cellar/git/1.7.9.2/share/gitk
lrwxr-xr-x   1 werner  staff   34 Mar  5 14:53 gitweb -> ../Cellar/git/1.7.9.2/share/gitweb
drwxr-xr-x   9 werner  staff  306 Mar  5 14:53 man
Run Code Online (Sandbox Code Playgroud)