エルキャピタンでの醸造のアップグレード


38

にアップグレードしたばかりでEl Capitan、更新しようとするbrewと次のエラーが表示されました。

$ brew update
Error: The /usr/local directory is not writable.
Even if this directory was writable when you installed Homebrew, other
software may change permissions on this directory. Some versions of the
"InstantOn" component of Airfoil are known to do this.

You should probably change the ownership and permissions of /usr/local
back to your user account.
  sudo chown -R $(whoami):admin /usr/local

chownエル・キャピタンが出てきたばかりだから、私が勧告を進める前に、それがここで進む正しい方法なのか?このステップが必要な理由と、このコマンドを実行すると望ましくない結果となる可能性のあるものは何ですか?

それが役立つ場合、エルキャピタンに関する2つの問題を見つけましたbrew4083741665ですが、この問題の解決策はすぐには明らかになりませんでした。brewエルキャピタンで確実に使用し続けるにはどうすればよいですか?


2
メッセージが示すように、所有権を変更しました/usr/localか?
user3439894

これは、同じマシン上で複数のユーザー(またはプロファイルが異なる複数のアカウントを持つ1人のユーザー)の場合に優れた質問を提起します。
ウォルトストーンバーナー

4
入力sudo chown -Rすると、ウィリーが与えられます。他のパラメーターが何であるかは関係ありません。にはHomebrew以外のものもありますが/usr/local、明らかに安全なコマンドではありません。Time Machineを使用して、サブディレクトリではなくchown、El Capitan edのみをインストールすることを確認しました/usr/local。このようにして、非再帰的な復帰、つまりを回避することができましたsudo chown $(whoami):admin /usr/local。YMMV。
デュオズモ

@duozmoは正しい。-R中にはsudo chown -R本当に重い渡されます。これは、Brewがドメイン全体を主張していることに相当します/usr/local
HairOfTheDog

回答:


31

私は彼らがあなたにすぐに解決策を与えることを意味します。私は同じ問題を抱えていたので走りました:

  sudo chown -R $(whoami):admin /usr/local

そしてそれは働いた。


1
+1説明どおりにユーザーの権限をリセットする必要もありました。この小さな調整の後、それ以上の問題はありません-homebrewと私のパッケージは10.11で非常に信頼できます。
bmike

22
これは実際には質問に答えません:Appleは理由のために/ usr / localをロックダウンし、この修正はEl Capitanには適切ではないと仮定するかもしれません。Appleが何らかのガイダンスを提供しているかどうかを確認するためにグーグルで調べています。問題は、「...エルキャピタンが出てきたばかりだから、ここで進める正しい方法ですか?」です。
マイケルウェルチ

1
@MichaelWelch回答はその編集の前に投稿されました。
DisplayName

1
@DisplayNameで申し訳ありませんが、タイムスタンプを確認する必要がありました。
マイケルウェルチ

2
これは正解です。github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/…を参照してください-実行$ brew doctorして、flac依存関係が欠落していることを発見しました。$ brew install flac頑固に$ brew updateさらに数回走らなければならなかった後。
安藤

9

これについて頭を痛める必要はもうありません。私はアドバイスを危険にさらし、提案された許可の変更を行いました。次に、最新の自作に更新すると、この心強いメッセージが表示されました。

Homebrewは/ usr / localの所有権を持つ必要がなくなりました。必要に応じて、次のコマンドで/ usr / localをデフォルトの所有権に戻すことができます。sudo chown root:wheel / usr / local


それでは、この問題を解決する方法は?
ラジェシュマウリヤ

karolusによって溶液を使用@RajeshMaurya
JannieT

8

上記のセキュリティに関する質問のいくつかでは、ダイアログは醸造の更新が成功した後にリセットするよう指示します。走った後

sudo chown -R $(whoami) /usr/local

その後

brew update

更新が正常に実行されると、ダイアログに次のように表示されるはずです。

sudo chown root:wheel /usr/local

それが実行された後、それはMacOS 10.12のセキュリティ上の懸念を軽減するはずです


chownコマンド:は/ usr / local:操作は許可されていない
ラジェッシュマウリヤ

6

与えられた解決策は私にはうまくいきませんでした:

sudo chown -R $(whoami):admin /usr/local

このバリエーションは私のために働いた:

sudo chown -R $USER /usr/local/


1
sudo chown -R $ USER / usr / local /は、最新のmacOSで私のために働いた
アレックストロット

1
chownコマンド:は/ usr / local /:操作は許可されていない
ラジェッシュマウリヤ

追加sudoしてルートレベルのパスワードを入力します
ブライアンスピアリング

1
それでもchown:/ usr / local /:rootパスワードを入力しても操作は許可されません。
2myCharlie


-1

SIPを見てください:

csrutil status

システムの整合性保護は「有効」に固定され、最後のApple属性は「制限」されています。

csrutil 

3
これは質問に記載されている問題をどのように解決しますか?
nohillside

-1

それは私のために働いた。

sudo chgrp -R admin /usr/local
sudo chmod -R g+w /usr/local

1
これらの解決策はどちらも私にとってはうまくいきません。それでも表示されます:chown:/ usr / local:操作は許可されていません
-2myCharlie

-2

システムの整合性保護を無効にする必要があります。これでできます。

sudo nvram boot-args="rootless=0";osascript -e 'tell app "loginwindow" to «event aevtrrst»’

これにより、システム全体のSystem Integrity Protectionが無効になります。回復モードからもできると思います。sudoを使用する場合は、rootパスワードを入力する必要がありますが、SIPによってロックアウトされることはありません。また、誤ってアクセス許可を設定しようとしてディレクトリを開かないでください。


3
以下で所有権を変更するためにSIPを無効にする必要はありません/usr/local
nohillside
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.