web-dev-qa-db-ja.com

Homebrewでのインストールエラー

RvmおよびRuby 1.9.2をインストールしようとしています

すでにhomebrewとgitをインストールしましたが、アクセス許可エラーが引き続き発生するため、完全な更新を取得できませんでした。 Snow Leopardを再インストールし、権限を修復しました。

今、これが起こります...

$ brew install wget

エラー:/ usr/local/Cellarに書き込めません

113
Ibrahim

Sudo chown -R $USER /usr/local

すぐにその行を使用して、/usr/local/の所有権を付与する必要があります。公式ドキュメントの一番上にあるRubyワンライナーを使用してHomebrewをインストールした後、自分でこれを行う必要がありました。私にとって魅力のように働いた。 HomebrewでSudoする必要があるのは、これが唯一の時間であるべきです。

Rubyワンライナーがこれを行うかどうかはわかりません。もしそうなら、それから私のシステム上の何かが/usr/localを制御しました。

Edit:これは完全に見落としていましたが、 @ samvermette は見逃していません(私の回答への返信を参照):これを実行した場合上記のコマンドを実行し、mysqlなどの特別なユーザー権限を必要とするhomebrewを介して何かをインストールします(上記のコマンドは/usr/local内のすべてに再帰的な所有権を与えるため($USER)。mysqlの場合、…

Sudo chown -RL mysql:mysql /usr/local/mysql/data

275
Ben Kreeger

Mavericksにアップグレードした後にこの問題が発生しました。このページは、エラーメッセージをグーグルで検索したときの検索結果のトップでした。私は検索を続け、 stack overflow.comでのこの回答 を見つけました。簡潔に言えば、次のとおりです。

Sudo chmod a+w /usr/local/Cellar

これにより問題が修正され、エラーメッセージで参照されている特定のパスのアクセス許可のみが変更されるため、他のインストールで悪影響が生じる可能性は低いようです。

私がやったように最初にこのページを見つけるかもしれない誰かのために、私はこの答えをここに入れています。ただし、クレジットは jdi に移動する必要があります。

40
Nathan

/usr/local/に書き込む管理者ユーザーのみを許可できますか?

chgrp -R admin /usr/local
chmod -R g+w /usr/local
chgrp -R admin /Library/Caches/Homebrew
chmod -R g+w /Library/Caches/Homebrew

Adminグループに属する各ユーザーは、新しい依存関係をインストールできるようになります。

11
swilgosz

High Sierraでは、chownが機能しないため、次のコマンドが必要です。

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

リンク:

https://github.com/Homebrew/brew/issues/3228

5

トリックを行うHomeBrewをアンインストールして再インストールする

2
Ricardo Marin

現在のユーザーが/ usr/localを所有するグループのメンバーであることを確認することをお勧めします。デフォルトでは、そのグループはwheelだと思います。自分をそのグループのメンバーにするには:

$ Sudo dscl . append /Groups/wheel GroupMembership $USER

洗練されていないハンマーのようなものですが、意図された効果があります-昇格したメンバーによる使用(読み取り/書き込み)のみを目的とする/usr/localのアイテムへのアクセスを可能にします。このアプローチは、グループメンバーシップを活用し、システム上の複数の(許可された)ユーザーがhomebrewを使用できるようにするため、上記の他の方法の利点があります。

1
Jason R. Coombs

Homebrewをどのようにインストールしましたか? 公式インストール手順 には、Rubyスクリプトの実行が含まれます。それはあなたのための許可の問題の世話をする必要があります。

スクリプトを実行したくない場合は、そのページの「開発者向けの/ usr/localへのインストール」というセクションがあり、/ usr/localディレクトリに必要な権限の変更について説明しています。

0
jhuebsch