Saya baru saja menginstal posgresql dengan homebrew dan ketika saya melanjutkan mengetikkan perintah
psql
Saya mendapatkan kesalahan berikut:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
[1] 69711 trace trap psql
Adakah yang tahu tentang apa yang salah?
postgresql
psql
libreadline
hbejgel
sumber
sumber
Jawaban:
Saya mendapatkan kesalahan yang sama persis, tetapi jawaban di atas tidak bekerja untuk saya. Saya harus menginstal ulang postgresql.
brew reinstall postgresql
sumber
pg_upgrade
Masalah utamanya adalah postgresql Anda berusaha menemukan versi
libreadline.6.2.dylib
tetapireadline
is Anda7.0
, jadi hanya 7 lib yang ditautkan.Saya tidak berpikir bahwa upgrade postgresql adalah ide yang bagus, itu tidak mudah dan dapat menyebabkan banyak masalah, terutama ketika Anda sudah memiliki data database.
Apa yang saya lakukan adalah mengganti versi
readline
. Ketika Anda memeriksabrew info readline
, Anda akan menemukan versi yang berbeda, milik saya6.3.8
, jadi saya beralih ke versi itu dengan menjalankan:Itu akan berubah menjadi 6.3.8 dan membuat tautan:
Dalam hal ini, semua lib yang terhubung menjadi 6 versi, dan baris perintah berfungsi:
Namun, jika Anda memiliki aplikasi yang berbeda menggunakan versi readline yang berbeda, saya pikir Anda harus mempertimbangkan untuk memutakhirkan.
Pembaruan: 06/02/2019
Bagaimana jika versi lama tidak diinstal?
Homebrew
tidak menyediakan cara untuk menginstal rumus versi lama. Dan sejak v2.0.0, itu akan berjalanbrew cleanup
sebagai perilaku default setiap 30 hari. Oleh karena itu, Anda dapat secara tidak sengaja memperbaruibrew
dan menghapus versi lama.Berikut langkah-langkah untuk menginstal versi lama:
homebrew-core
direktori:Dengan mengikuti langkah-langkah itu, Anda dapat menginstal ulang versi lama formula.
sumber
readline
yang diinstal? Kelemahan lain apa yang ada untuk melakukan ini?Jika situasinya Anda memiliki readline versi yang lebih tinggi katakanlah 7.0. Kamu bisa melakukan ini
sumber
brew uninstall --force gawk
dan kemudianbrew install gawk
adalah apa yang membuat saya berdiri dan berlari. Anda mungkin juga bisabrew reinstall --force gawk
pg_top
yang meningkatkan libreadline ke 8.0 dan memutus psql. Saya menggunakan trik Anda, kecuali membuatnya menjadi symlinkln -s libreadline.8.0.dylib libreadline.7.dylib
Jika Anda belum menginstal readline, instal dulu:
brew install readline
Bagi saya, saya mendapatkan kesalahan ini, meskipun saya sudah menginstal readline. Menginstal ulang readline melakukan trik:
sumber
bash
lakukan:brew install --build-from-source bash
brew reinstall readline
(untuk mendapatkan minuman khusus Sierra) dan pada saat itubrew reinstall postgresql94
,. Orang-orang mengatakan untuk menginstal ulang bash tetapi saya tidak pernah memulainya. Jadi jawaban ini dan jawaban yang dipilih sama-sama bekerja untuk saya.Ini berhasil untuk saya
Ini akan menampilkan versi yang telah Anda instal. Pilih satu dari mereka. Saya memilih 7.0.5
Saya kemudian berlari
Versi readline diperbarui, dan
psql
berjalan dengan lancar.sumber
libreadline.7.dylib
, tapi saya menggunakan readline 8.0.0. Beralih dari 8.0.0 ke 7.0.5 memecahkan masalah. Saya berharap membuat symlink (seperti yang dilakukan orang lain) juga akan berfungsi, jika saya ingin tetap menggunakan 8.0.0. Tetapi memiliki tautan versi yang lebih baru ke versi yang lebih lama adalah menyesatkan dan berpotensi menyebabkan masalah lain.ini berhasil untuk saya
sumber
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
, jadi saya menggunakanln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.2.dylib
.Solusinya adalah dengan memaksa tautan readline lagi.
sumber
Menurut saya masalahnya adalah tentang pembaruan paket readline. postgres mencoba menggunakan /usr/local/opt/readline/lib/libreadline.7.dylib dalam kasus saya. Jadi saya baru saja membuat symlink ke versi perpustakaan yang ada /usr/local/opt/readline/lib/libreadline.8.dylib.
bekerja untuk saya:
sumber
Tidak ada solusi yang bekerja untuk saya; Saya harus lari:
dari: https://github.com/Homebrew/homebrew-core/issues/5799
sumber
Jawaban di atas tidak berhasil untuk saya, jadi saya ingin memposting apa yang akhirnya berhasil. Berdasarkan utas yang saya temukan di sini , saya harus mencopot pemasangan readline dan menginstalnya lagi tetapi dari sumber.
Setelah itu kesalahan psql hilang.
sumber
Saya memiliki masalah ini, dan kunci bagi saya adalah untuk
reinstall
keduanyareadline
danpostgres
. Setelah postgres diinstal ulang, masalah terselesaikan.sumber
Cara lain untuk memperbaiki psql adalah memperbarui postgresql yang hanya berjalan
brew upgrade postgresql
karena versi terbaru akan menggunakan versi readline 7.sumber
Saya mengalami masalah ini ketika saya memperbarui readline ke versi 7 secara tidak sengaja. Saya mencopot pemasangan readline dan mengingatkan saya pada 6.3.8 masih diinstal. Tampaknya versi 7 tidak bekerja dengan PSQL saat ini.
sumber
Saya mencoba semua perintah terminal ini dan tidak ada yang berhasil sehingga memutuskan untuk memperbaikinya secara manual ..
Buka finder dan tekan perintah + shift + g
Anda akan melihat banyak versi file-file ini
ganti nama mereka ke perpustakaan mana pun yang tidak dimuat
sumber
Saya mencoba semua jawaban preview, dan tidak ada yang berhasil. Satu-satunya hal yang benar-benar bekerja untuk saya adalah:
brew link postgresql
sumber
Ini membantu saya: uninstall semua readline dan postgresql
ekspor CPPFLAGS = -I / usr / lokal / opt / readline / termasuk LDFLAGS ekspor = -L / usr / local / opt / readline / lib
dan instal posqtgresql
sumber
Perintah berikut ini bekerja untuk saya:
sumber
Saya menemukan solusi ini bermanfaat
https://github.com/Homebrew/homebrew-core/issues/5799
sumber
Anda bisa mencoba
brew doctor
dan melihat apa yang dikatakannya.Mungkin yang Anda butuhkan hanyalah
brew link --overwrite bash
.Bagi saya, saya baru saja mengupgrade minuman sejak OS X EL Capitan memiliki beberapa peningkatan keamanan yang menyertakan
/usr
folder saya . Selama peningkatan minuman, tautan bash rusak, dan inilah yangbrew doctor
memberitahu saya.Jadi saya hanya berlari
brew link --overwrite bash
dan semuanya baik-baik saja.sumber
Anda mungkin ingin memeriksa apakah Anda memiliki hal lain yang disinkronkan
postgresql
. Saya sebelumnya telah ditautkan ke paket postgres93 , yang, pada Mei 17, tidak didukung dan telah dihapus. Menghapus tautan itu dan kemudian menautkan kembali berfungsi untuk saya:sumber
Dalam kasus saya, jawaban yang benar tidak memperbaiki masalah.
Masalahnya dimulai setelah berjalan
brew doctor
dan menambahkanexport PATH="/usr/local/bin:$PATH"
ke file ~ / .zshrc saya.Menghapus
dari
~/.zshrc
mendapatkannya dipecahkan.sumber
Untuk beberapa alasan yang tidak diketahui, ketika kesalahan ini muncul untuk versi Readline berikutnya, RVM saya sepertinya tidak dapat menemukan yang benar tidak peduli bagaimana saya menyinkronkannya, melemparkan:
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
Saya akhirnya menambahkan permata
rb-readline
ke Gemfile saya dan melakukan yang lainbundle install
dan mulai bekerja.Aku ... tidak tahu.
sumber