インストール済み、リンクされていない


86

注:私はシェルの使用があまり得意ではありません。

YosemiteValgrindを使ってインストールしようとしていbrewました。

brew install --HEAD valgrind

終わりに向かって、リンクに関係するエラーが発生したため、再インストールしようとすると、次のようになりました。

警告:valgrind-HEADはすでにインストールされていますが、リンクされていません

どうやら私はすでにそれをインストールしました。次に、他のSOの質問と回答に基づいて、次のことを試しました。

brew link valgrind

これは、すでにインストールされているソフトウェアをリンクすることに関する他の人々の問題を解決したように見えましたが、これは私にエラーを与えました:

Linking /usr/local/Cellar/valgrind/HEAD... 
Error: Could not symlink lib/pkgconfig/valgrind.pc
/usr/local/lib/pkgconfig is not writable.

私も更新しようとしましたbrewが、問題は解決しませんでした。書き込み可能でない場合は、sudo許可を与えるかもしれませんが、自分がsudo何をしているのかを正確に知らずに使用したくありません。

何が起こっているのですか、それを修正するにはどうすればよいですか?

回答:


103

権限の問題のようです。私はこれをやってみます

chmod 755 /usr/local/lib/pkgconfig

これで利用できるようになります。

brew link valgrind

それがうまくいかない場合は、チェックしてみます

brew doctor

5
私はを使用brew doctorし、指示に従って、chown問題を解決するために2回使用します。
yanzi1225627 2016年

2
@ yanzi1225627なぜ2回?
グレッグヒルストン

31

ファーストラン

brew link <package>

エラーが発生した場合は、自動診断を試してください

brew doctor

brew doctor インストールプロセスでエラーを引き起こす可能性のある問題のリストを示します。

ファイルが競合する場合の問題を修正するには、を実行して、実際に実行せずに上書きによって実行れるすべてのアクションのリストを取得します。

削除されるすべてのファイルを一覧表示するには:

  brew link --overwrite --dry-run <package>

上書きによって実行されたアクションによってシステムがより安定した状態になると思われる場合は、この実行に続いて上書きが実行されます。

リンクを強制し、競合するすべてのファイルを上書きするには:

 brew link --overwrite <package>

13

上記の解決策のいずれも機能しない場合は、これを試してください。

sudo chown -R $USER:admin /usr/local
brew link <package-name>

3

私の場合、醸造医はそれを正しく理解しました。ある時点で、/ usr / local / lib / pkgconfigは私のアカウントではなくrootによって所有されるように設定されました。処方された治療法はうまくいきました-

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

2

私は同じ問題を抱えていて、次の解決策で解決しました:ターミナルからbrewdoctorを実行してすべてのエラーをチェックしてください

次に、次のコマンドを実行します。

sudo chown -R $USER:admin /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share

実行後:

brew link <package_name>

1

タイプ

link valgrind

そのようなディレクトリは書き込み可能ではないため、リンクできないというエラーが表示されます。かっこいい、今は書き込み可能にしています。タイプ

sudo chmod a+w the/directory/shown/as/error

ディレクトリが書き込み可能でない場合、その権限を変更して書き込み可能にすることもできません。Sudoはこの操作を可能にします。chmodはモードを変更し、すべての(a)ユーザーがそれを書き込む(w)ことができるようにします。

次に、システムのパスワードを入力するように求められます。この後、もう一度入力します

link valgrind

今回は動作します。


1

これが私が試したもので、うまくいきました:

$ brew link --overwrite sdl
Linking /usr/local/Cellar/sdl/1.2.15...
Error: Could not symlink lib/pkgconfig/sdl.pc
/usr/local/lib/pkgconfig is not writable.

探したpkgconfig:(後chmod 750

drwxr-xr-x   4 root           wheel   136B Mar 30  2013 pkgconfig

私はchown以下のように試しました:

$ sudo chown -R  avkashchauhan:admin /usr/local/lib/pkgconfig

以下のようになります。

drwxr-xr-x   4 avkashchauhan  admin   136B Mar 30  2013 pkgconfig

私がそれを試した後:

$ brew link sdl                                                                                                                                                                                                                    
Linking /usr/local/Cellar/sdl/1.2.15... 182 symlinks created

0

同様の問題が発生しました、

$ brew install sqliteHomebrewを更新しています... ==>自動更新されたHomebrew!1タップ(自作/コア)を更新しました。数式に変更はありません。

警告:sqlite-3.17.0はすでにインストールされており、リンクされていません。

リンクしてみました、

$ brew link sqlite警告:sqliteは樽のみであり、-forceとリンクする必要があります。そうするとソフトウェアの構築に干渉する可能性があることに注意してください。

それから無理矢理やって、

$ brew link --force sqlite Linking /usr/local/Cellar/sqlite/3.17.0 ... 8つのシンボリックリンクが作成されました


0

許可についても同じ問題がありましたが、許可を与えた後もエラー許可があります。そして、ここで私は最初に:

brew unlink valgrind

その後、

brew link valgrind

この助けを願っています。


0
brew install cocoapods --build-from-source
brew link --overwrite cocoapods

MAC OS Mojave10.14.6にアップグレードした後に私のために働いた唯一のコマンド

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.