web-dev-qa-db-ja.com

Homebrewはgitをリンクしません

Gitをインストールしたり、brew経由でgitをアップグレードしたりすると、brew link gitとリンクできませんでした。 Sudo brew link gitを試してみると、次のようになります。

臆病にSudobrewリンクを拒否

それは私が上の許可をチェックしなければならないと言っています:

/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

私はすべてを777にchmodしましたが、それが良いかどうかはわかりません。

これでgitをリンクできます。許可をより許容度の低いものに変更する必要がありますか?

11
Yannick Schall

ここでは777のアクセス許可が必ずしも悪いわけではありません。おそらく、アクセス許可の問題が発生することはなく、セキュリティ上の大きな問題ではありません。

とにかく、Homebrewが必要とする/usr/local/shareの「通常の」権限は(再帰的に)755である必要があり、したがってrwxr-xr-xです。

chmod -R 755 /usr/local/share

少なくともbrewは、そこで何かを行うためにSudo権限を必要としないはずです。 /usr/localのみがrootによって所有されていますが、ユーザーが所属するstaffグループに対して書き込み可能です。

既存のHomebrewインストールを修正するには、 this Gist を確認してください。これは、/usr/local権限の修正を試みるスクリプトです。


例として、これが私の(正気の)Homebrewインストールの1つのディレクトリリストです。ghostscriptSudo 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
5
slhck

Gistはまだ試していませんが、フォルダーでchmod 775を試しました。 root:wheelが所有しているため、変更できません。日本語のサイトを参考にしました。

Sudo chown yourusername:admin -R /usr/local/share/ghostscript
brew link ghostscript
brew doctor

それからそれは上記の私のために働きます。

0
Jimmy MG Lim