Homebrewは/ usr/localのパーミッションを必要とし、他の誰も私のラップトップを使用していないので私はいつもやった
Sudo chown -R $(whoami) $(brew --prefix)
high Sierraでは、これは
chown: /usr/local: Operation not permitted
修正は何ですか?
深く掘り下げた後、私はHomebrewをアンインストールし、それからそれを再インストールすることだけがこの問題を解決することがわかった。
Homebrewをアンインストールします。
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
それを再インストールします。
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
残念ながら、High Sierraでは/usr/local
をchownすることはできません。回避策は、Sudo mkdir /usr/local/include
と/usr/local/Frameworks
が存在しない場合です。
Sudo chown -R $(whoami) $(brew --prefix)/*
この簡単な回避策と素晴らしい自作のためにilovezfsに感謝します!
/usr/local
自体の権限を変更することはできませんが、その下のフォルダに対する適切な権限を変更することができます。Sudo chown -R $(whoami) /usr/local/*
これ /に従ったが、問題はまだ解決しない。
それで、私は以前のものをアンインストールせずに homebrew を再インストールしました。今働いている!
(どうやっていいかわからない)
最新のMacOS、すなわちMojave
でも問題は解決しません。 Homebrewをアンインストールして再インストールしても、ディレクトリのアクセス権の問題は解決されません。実際、Homebrewのインストールとはまったく関係ありません。
brew install python
を実行するとき、それは単にbrew pythonを流し込み、それからbrewが許可を得ていない/ usr/local dirの下にシンボリックリンクを作成しようとします。そしてSudo chown -R $(whoami) /usr/local
を実行しようとすると、通常のMacユーザー(つまりあなたのユーザー名)が持っていない追加の特権を必要とするので、うまくいきません。しかし@Rezaが彼の answer で述べたようにその下のディレクトリのパーミッションは変更することができます。次のコマンドを発行してください。
Sudo chown -R $(whoami) /usr/local/*
私はこれを実行するだけで、すべてがHigh Sierra上で世話をされます。
/ usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"
システムの整合性保護を無効にしてみてください 。ドキュメントから:
システム保全性保護は、csrutil(1)コマンドを使用して構成できます。
ターミナルで次のコマンドを実行して、システムのシステム整合性保護が現在有効になっているかどうかを確認できます。
$ csrutil status
System Integrity Protection status: enabled.
System Integrity Protectionを有効または無効にするには、リカバリOSを起動して、ターミナルからcsrutil(1)コマンドを実行する必要があります。
コンピュータを再起動し、起動時にCommandキーとRキーを押して、リカバリOSを起動します。ユーティリティメニューからターミナルを起動します。次のコマンドを入力してください:
$ csrutil enable
マシンでSystem Integrity Protectionを有効または無効にした後は、再起動が必要です。
bashから来たためにzshを使用している場合は、$ PATHを変更する必要があります。 .zshrcにexport PATH=$HOME/bin:/usr/local/bin:$PATH
を追加する必要があります
それでそれは動作するはずです、この問題は私のMacではこのように解決されました。
$ cd /usr/local
$ Sudo chown -R <your-username>:<your-group-name> *
グループ名は通常staff
です。*
を忘れないでください
/ user/local/Frameworksフォルダを持っていなかったので、これで解決しました
Sudo mkdir -p /usr/local/Frameworks
Sudo chown -R $(whoami) /usr/local/Frameworks
OSX High Sierraがあります
ホームフォルダまたはインストールにアクセスする必要があるフォルダにロックが設定されていないことを確認してください。
権限と所有権が正しく設定されていて、現在正しいユーザーまたはルートユーザーでログインしている場合でも、新しいフォルダまたはディレクトリを作成することはできません。