tig
をインストールしている間、HomeBrew
は依存関係をインストールしている間、以下の問題を表示しています。
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/a2x
/usr/local/bin is not writable.
You can try again using:
brew link asciidoc
フォロー中 Alex's answer 私はこの問題を解決することができた。これはインストールされているパッケージに特有の問題ではないがhomebrew
フォルダのパーミッションの問題であるようです。
Sudo chown -R `whoami`:admin /usr/local/bin
パッケージによっては、これを/usr/local/share
または/usr/local/opt
に対しても行う必要があるかもしれません。
Sudo chown -R `whoami`:admin /usr/local/share
Sudo chown -R `whoami`:admin /usr/local/opt
特定のコマンドを実行するのではなく、brew doctor
を実行してすべての警告を真剣に受け止めることをお勧めします。あなたが動けなくなる他の問題があるかもしれませんが、この質問では捕らえられないかもしれません。
また、brewが時間の経過とともに更新されるにつれて、特定のコマンドが有効になる場合もあれば、そうでない場合もあります。ただし、brew doctor
を使用すると、確実に最新のトラブルシューティングを受けることができます。
他の答えは正しい限りですが、答えはしていません なぜ この問題が発生している可能性があり、その根本的な原因への対処方法。
この問題には2つの原因が考えられます。
brew doctor
が示唆する原因です。複数のユーザーアカウントがあり、それらのうちの複数のユーザーアカウントでbrewを使用できるようにするには、いくつかの手順を実行する必要があります。それ以外の場合は、ユーザーを切り替えるたびにHomebrewファイル構造の所有権を変更する必要があります。それは素晴らしい考えではありません。
詳しい説明は online にありますが、素早い答えは次のとおりです。
グループを作成します という名前のbrew:
Sudo chgrp -R brew /usr/local
Sudo chmod -R g+w /usr/local
Sudo chgrp -R brew /Library/Caches/Homebrew
Sudo chmod -R g+w /Library/Caches/Homebrew
Homebrewで複数のユーザーを使用しようとしていないのであれば、brew doctor
の提案に基づいて他の回答で提供されている解決策でおそらく十分です。
Sudo chown -R $(whoami) /usr/local
Sudo chown -R $(whoami) /Library/Caches/Homebrew
これらのステップの後、brew doctor
は brew グループ内のすべてのユーザーの成功を報告します(マルチユーザールートを使用した場合)。新しいグループメンバーシップを適用するためにログアウトして再度ログインします。シングルユーザーの自作について修正しただけでは、ログアウトして再度ログインする必要はありません。グループのメンバーシップは変更されていません。
/usr/local/sbin
を探している人のために書き込み可能なエラーではありません: 更新: /usr/local/someOtherFolderName
、例えば/usr/local/include
になります。そのフォルダを作成する必要があります。
Sudo mkdir someOtherFolderName
まずsbin
フォルダを作成します。これにはSudo
権限が必要であることに注意してください。
cd /usr/local
Sudo mkdir sbin
Sudo chown -R $(whoami) $(brew --prefix)/*
brew link yourPackageName
私の特定の設定では、以下のコマンドがうまくいったことがわかりました。
brew doctor
そしてそれは私のエラーがどこにあったのかを私に示した、そしてそれから上記のコメントとはこのわずかに異なるコマンド。
Sudo chown -R $(whoami) /usr/local/opt
Mac OS High Sierraを実行している間に(この投稿が行われてから4年後に認められた)この問題に遭遇した人々のために - ここに概説されたステップは私のために問題を解決した。基本的には単にbrewのアンインストールと再インストールの概要を説明しているだけです。
これらのステップを実行した後、brew link
は魅力のように働きました!
私にとっての解決策はbrew update
を実行することでした。
だから、これを最初に行います。
これは自作に精通している人にとっては普通のやり方かもしれませんが、私はその人の一人ではありません。
編集:これと同じ質問に対する@ kinnthの回答で示唆されているように、私はbrew doctor
を実行して更新する必要があることを発見しました。
一般的なトラブルシューティングのワークフローは、次のようになります。1. brew update
を実行します。2.それがbrew doctor
の実行に役立たない場合は、その指示に従います。
私は同じ問題を見つけた、私たちは3つのステップで解決することができます -
ステップ1
Sudo chown -R $(whoami) $(brew --prefix)/*
ステップ2
brew doctor
ステップ3
brew Prune
それでもリンクの問題がある場合は、mysql
としましょう。
brew link mysql
これはうまくいくでしょう。
brew link node を実行している間に、私は以下のような問題を抱えていました。
エラー:include/node/usr/local/includeをシンボリックリンクできませんでした。書き込みはできません。
リンク/usr/local/Cellar/node/9.3.0 ...エラー:許可は@ dir_s_mkdirを拒否しました - /usr/local/lib
上記の問題を解決するには、/ usr/local /に行き、 'include'と 'lib'フォルダが空いていることを確認してください。
そして brew install node を実行してください。
これは、現在のユーザーがそのパスでwriteを許可されていないためです。したがって、r/w(読み取り/書き込み)パーミッションを変更するには、1。ターミナル、または2.グラフィカルな「情報を見る」ウィンドウを使用します。
1。ターミナルの使用
Googleのターミナルからのchmod/chown(モードの変更/所有者の変更)コマンドの使用方法
2。グラフィカルな「情報を見る」を使用する
パーミッションを変更したいフォルダー/ファイルを右クリックして、Get Infoを開くと、以下のようなウィンドウが表示されますこれは、R/Wパーミッションを簡単に変更できます:
可能であれば、一時的な作業の後、許可を「読み取り専用」に戻すことを忘れないでください
Sophos Anti-Virusユーザーには、以下の関連性があります。
https://stackoverflow.com/a/32981184
https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/17/t/10029
つまり、ソフォスは特定の/ usr/localディレクトリのアクセス権を変更しています。ソフォスはこれにパッチを適用しており、修正はバージョン9.4.1に含まれています。
私の問題は
Error: Could not symlink share/man/man7/ABORT.7
/usr/local/share/man/man7 is not writable.
chown
は役に立ちませんでしたが、私はbrew doctor
アドバイスを実行した後、この警告は私を助けました:
Warning: Broken symlinks were found. Remove them with `brew Prune`:
/usr/local/share/man/man3/*
brew Prune
の後、すべてうまくいきました!
慣れていない人のために:
Sudo chown -R YOUR_COMPUTER_USER_NAME PATH_OF_FILE
インストールしているパッケージ用のディレクトリが/usr/local
にすでにある場合は、このディレクトリを削除してみてください。
私の場合は、brewを使わずにインストールしようとしていたパッケージを以前にインストールしてからアンインストールしました。その前回のインストールから/usr/local/<my_package>/
ディレクトリが残っていました。私はこのフォルダ(Sudo rm -rf /usr/local/<my_package>/
)を削除し、その後ブリューリンクステップは成功しました。
Finderのフォルダに移動した場合は、右クリックして[情報を見る]を選択すると、そのフォルダの[共有とアクセス権]セクションに移動し、[全員]に[読み取りと書き込み]を許可できます。
これは私がシンボリックリンクをこのエラーで合格させるためにすることです。また、あなたが何も変更していないかのように、brewはフォルダのアクセス権をリセットするようです