Terpasang, hanya tidak ditautkan

86

Catatan: Saya tidak begitu pandai menggunakan shell.

Saya mencoba menginstal Valgrindmenggunakan brewdi Yosemite.

brew install --HEAD valgrind

Menjelang akhir, saya mendapat kesalahan terkait dengan penautan, jadi ketika saya mencoba menginstal ulang, saya mendapat:

Peringatan: valgrind-HEAD sudah terpasang, hanya saja tidak terhubung

Jadi ternyata saya sudah menginstalnya. Kemudian berdasarkan pertanyaan dan jawaban SO lainnya, saya mencoba:

brew link valgrind

Ini sepertinya menyelesaikan masalah orang lain dengan menautkan perangkat lunak yang sudah diinstal tetapi ini memberi saya kesalahan:

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

Saya juga mencoba memperbarui brewtetapi tidak menyelesaikan masalah. Jika tidak dapat ditulis, mungkin sudoakan memberi saya izin tetapi saya tidak ingin menggunakan sudotanpa tahu persis apa yang saya lakukan.

Apa yang terjadi dan bagaimana cara memperbaikinya?

aanrv
sumber

Jawaban:

103

Sepertinya masalah izin. Saya akan mencoba melakukan ini

chmod 755 /usr/local/lib/pkgconfig

Ini harus membuatnya tersedia, lalu coba

brew link valgrind

Jika itu tidak berhasil, saya akan mencoba melakukan pemeriksaan di atasnya

brew doctor
Gann14
sumber
5
Saya menggunakan brew doctor, dan dengan instruksi, kemudian menggunakan chowndua kali untuk memecahkan masalah.
yanzi1225627
2
@ yanzi1225627 kenapa dua kali?
Greg Hilston
31

Lari pertama

brew link <package>

Jika ini memberikan kesalahan, coba diagnosis otomatis

brew doctor

brew doctor memberikan daftar masalah yang dapat menyebabkan kesalahan dalam proses instalasi.

Untuk memperbaiki masalah jika ada file yang bentrok, jalankan untuk mendapatkan daftar semua tindakan yang akan dilakukan dengan menimpa tanpa benar-benar melakukannya.

Untuk mendaftar semua file yang akan dihapus:

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

diikuti dengan proses ini yang akan mengeksekusi penimpaan, dengan asumsi Anda merasa bahwa tindakan yang dilakukan oleh penimpaan akan membawa sistem Anda ke status yang lebih stabil .

Untuk memaksa tautan dan menimpa semua file yang bentrok:

 brew link --overwrite <package>
Vinay Vemula
sumber
13

Jika tidak ada solusi di atas yang berhasil, coba ini.

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

Dalam kasus saya, dokter pembuat minuman itu benar. Di beberapa titik / usr / local / lib / pkgconfig diatur untuk dimiliki oleh root daripada akun saya. Obat yang diresepkan berhasil -

sudo chown -R $(whoami) /usr/local/lib/pkgconfig
Pedro Jiménez
sumber
2

Saya memiliki masalah yang sama dan saya menyelesaikannya dengan solusi berikutnya: Jalankan brew doctor dari Terminal untuk memeriksa semua kesalahan Anda

lalu jalankan perintah selanjutnya:

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

setelah lari:

brew link <package_name>
B.Kleo
sumber
1

Tipe

link valgrind

Ini akan menunjukkan kesalahan yang tidak dapat ditautkan karena direktori ini-dan-itu tidak dapat ditulis. Keren, kami membuatnya dapat ditulis sekarang. Tipe

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

Jika direktori tidak dapat ditulis, Anda tidak akan dapat mengubah izinnya dan membuatnya juga dapat ditulis. Sudo akan memungkinkan operasi ini. chmod akan mengubah mode dan akan membuat semua (a) pengguna dapat menulis (w) itu.

Selanjutnya Anda akan diminta untuk mengetikkan kata sandi sistem Anda. Setelah ini, ketik lagi

link valgrind

dan kali ini akan berhasil.

monkSinha
sumber
1

Inilah yang saya coba dan berhasil:

$ 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.

Mencari pkgconfig: (setelah chmod 750)

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

Saya mencoba chownseperti di bawah ini:

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

itu akan terlihat seperti di bawah ini:

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

Setelah saya mencobanya:

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

Saya punya masalah yang sama,

$ brew install sqlite Memperbarui Homebrew ... ==> Homebrew yang diperbarui secara otomatis! Diperbarui 1 tap (homebrew / core). Tidak ada perubahan pada rumus.

Peringatan: sqlite-3.17.0 sudah terinstal, hanya saja tidak terhubung.

Saya mencoba menautkannya,

$ brew link sqlite Peringatan: sqlite hanya untuk tong dan harus ditautkan dengan --force Perhatikan bahwa hal itu dapat mengganggu perangkat lunak bangunan.

Kemudian lakukan dengan paksa,

$ brew link --force sqlite Linking /usr/local/Cellar/sqlite/3.17.0 ... 8 symlink dibuat

X. L
sumber
0

Saya memiliki masalah yang sama tentang izin, tetapi setelah saya memberikan izin, masih ada kesalahan izin. Dan inilah yang saya lakukan, pertama:

brew unlink valgrind

lalu,

brew link valgrind

berharap bantuan ini.

mbdrian.dll
sumber
0
brew install cocoapods --build-from-source
brew link --overwrite cocoapods

Satu-satunya perintah yang berfungsi untuk saya setelah memutakhirkan ke MAC OS Mojave 10.14.6

Naishta
sumber