当我通过 安装 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
我chmod
把所有内容都编辑成了 777,但我不确定这是否好。
我现在可以链接 git。我是否应该将权限更改为更宽松的权限?
答案1
777 权限在这里不一定是坏事 - 您可能永远不会遇到权限问题,而且我认为这不是一个很大的安全问题。
无论如何,Homebrew 所需的“正常”权限/usr/local/share
应该是(递归)755,因此rwxr-xr-x
。
chmod -R 755 /usr/local/share
至少brew
不需要 sudo 权限就可以在其中执行任何操作。只有/usr/local
拥有,但您的用户所在的组才可以root
写入。staff
如需修复现有的 Homebrew 安装,请查看这个要点,这是一个将尝试纠正您的/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
答案2
我还没有尝试过 Gist,但尝试过chmod 775
在文件夹上尝试。由于文件夹的所有者是root:wheel
它,因此无法更改。我参考了一个日本网站。
sudo chown yourusername:admin -R /usr/local/share/ghostscript
brew link ghostscript
brew doctor
那么它对我来说就起作用了。