回答:
sudo chown -R $USER /usr/local
/usr/local/
その場所でその行を使用することの所有権を自分に与える必要があります。公式ドキュメントの上部にあるrubyワンライナーを使用してHomebrewをインストールした後、私はこれを自分で行う必要がありました。私にとっては魅力のように働きました。sudo
Homebrewを使用する必要があるのは、このときだけです。
ルビーのワンライナーがこれを行うかどうかはわかりません。もしそうなら、それから私のシステムの他の何かがそれ/usr/local
以降に制御しました。
編集:私はこれを完全に見逃しましたが、@ samvermetteは見逃しませんでした(私の回答への返信を参照してください):上記のコマンドを実行し、homebrewを介して何か特別なユーザー権限が必要なものがインストールされている場合はmysql
、それらの権限を必ず返してください(上記のコマンドは、内部のすべてに再帰的な所有権を与え/usr/local
ます($USER
)。mysqlの場合、それは…
sudo chown -RL mysql:mysql /usr/local/mysql/data
mysql
ユーザーから/ usr / local / mysql / dataの所有権を削除します。私の場合、mysqlの起動を妨げていました。修正している:sudo chown -RL mysql:mysql /usr/local/mysql/data
sudo chown -R $USER /usr/local/Cellar
て/usr/local/
、既に私のための適切な権限を持っていた
Mavericksへのアップグレード後にこの問題が発生しました。このページは、エラーメッセージをグーグル検索する際の上位の検索結果でした。私は検索を続けたところ、スタックオーバーフロー.comでこの回答が見つかりました。簡潔に言えば、それは:
sudo chmod a+w /usr/local/Cellar
これで問題が解決しました。エラーメッセージで参照されている特定のパスの権限のみが変更されるため、他のインストールで悪影響が出る可能性は低いようです。
私がそうしたように、このページを最初に見つけた人のために、私はこの答えをここに置いています。ただし、クレジットはjdiに移動する必要があります。
/usr/local/bin
)へのアクセスを必要とするパッケージでは失敗します。
管理者ユーザーのみに書き込みを許可でき/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
管理者グループに属する各ユーザーは、新しい依存関係をインストールできるようになります。
High Sierraでは、次のコマンドが必要です。chownは機能しません。
sudo chown -R $(whoami)$(brew --prefix)/ *
リンク:
現在のユーザーが/ usr / localを所有するグループのメンバーであることを確認することをお勧めします。デフォルトでは、そのグループはだと思いますwheel
。自分をそのグループのメンバーにするには:
$ sudo dscl . append /Groups/wheel GroupMembership $USER
洗練されていないハンマーのようなものですが、意図した効果があります/usr/local
。昇格したメンバーによる使用(読み取り/書き込み)のみを目的としたアイテムへのアクセスを可能にします。このアプローチはグループメンバーシップを利用し、システム上の複数の(許可された)ユーザーが自作を使用できるため、上記のもう1つの利点があります。
どのようにしてHomebrewをインストールしましたか?彼らの公式のインストール手順には、rubyスクリプトの実行が含まれています。それはあなたのための許可の問題を処理する必要があります。
スクリプトを実行したくない場合は、/ usr / localディレクトリに必要な権限の変更を説明する「開発者向け/ usr / localへのインストール」と呼ばれるページのセクションがあります。
編集:コメントで述べたように、自作でsudoを使用することは悪い考えなので、次の答えは使用しないでください!
sudoでコマンドを実行すると、このエラーを防ぐこともできます。
$ sudo brew install wget
ただしsudo
、多くの間違いをする可能性があるため、使用には注意してください。