it-swarm-ja.tech

mac OS X 10.13 High Sierraで自作用の/ usr/localをchownできない

Homebrewは/ usr/localのパーミッションを必要とし、他の誰も私のラップトップを使用していないので私はいつもやった

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

high Sierraでは、これは

chown: /usr/local: Operation not permitted

修正は何ですか?

102
Dan

深く掘り下げた後、私は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)"
185
Uri Meirav

残念ながら、High Sierraでは/usr/localをchownすることはできません。回避策は、Sudo mkdir /usr/local/include/usr/local/Frameworksが存在しない場合です。

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

この簡単な回避策と素晴らしい自作のためにilovezfsに感謝します!

43
Dan

/usr/local自体の権限を変更することはできませんが、その下のフォルダに対する適切な権限を変更することができます。
Sudo chown -R $(whoami) /usr/local/*

24
Reza Farshi

これ /に従ったが、問題はまだ解決しない。
それで、私は以前のものをアンインストールせずに homebrew を再インストールしました。今働いている!
(どうやっていいかわからない)

8
Aayush Gautam

最新の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/*
6
Abu Shumon

私はこれを実行するだけで、すべてがHigh Sierra上で世話をされます。

/ usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

6
Ravi OpenSource

システムの整合性保護を無効にしてみてください 。ドキュメントから:

システム保全性保護は、csrutil(1)コマンドを使用して構成できます。

ターミナルで次のコマンドを実行して、システムのシステム整合性保護が現在有効になっているかどうかを確認できます。

$ csrutil status
System Integrity Protection status: enabled.

System Integrity Protectionを有効または無効にするには、リカバリOSを起動して、ターミナルからcsrutil(1)コマンドを実行する必要があります。

コンピュータを再起動し、起動時にCommandキーとRキーを押して、リカバリOSを起動します。ユーティリティメニューからターミナルを起動します。次のコマンドを入力してください:$ csrutil enable

マシンでSystem Integrity Protectionを有効または無効にした後は、再起動が必要です。

2
Elle Mundy

bashから来たためにzshを使用している場合は、$ PATHを変更する必要があります。 .zshrcにexport PATH=$HOME/bin:/usr/local/bin:$PATHを追加する必要があります

それでそれは動作するはずです、この問題は私のMacではこのように解決されました。

1
zyqbit

これはAppleのstackexchangeから動作した

$ cd /usr/local
$ Sudo chown -R <your-username>:<your-group-name> *

グループ名は通常staffです。*を忘れないでください

1
Ahmed Younes

/ user/local/Frameworksフォルダを持っていなかったので、これで解決しました

Sudo mkdir -p /usr/local/Frameworks
Sudo chown -R $(whoami) /usr/local/Frameworks

OSX High Sierraがあります

0
ayush pathak

ホームフォルダまたはインストールにアクセスする必要があるフォルダにロックが設定されていないことを確認してください。

権限と所有権が正しく設定されていて、現在正しいユーザーまたはルートユーザーでログインしている場合でも、新しいフォルダまたはディレクトリを作成することはできません。

0
Daniel