Библиотека не загружена: /usr/local/opt/readline/lib/libreadline.6.2.dylib

Я только что установил posgresql с homebrew и когда я продолжаю вводить команду

psql

Я получаю следующую ошибку:

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

Есть ли у кого-нибудь представление о том, что неправильно?

+171
31 янв. '14 в 19:48
источник поделиться
21 ответ

Я получал ту же ошибку, но приведенные выше ответы не сработали для меня. Мне пришлось переустановить postgresql.

brew reinstall postgresql

+274
29 сент. '16 в 23:21
источник

Связанные вопросы


Похожие вопросы

Ключевая проблема заключается в том, что ваш postgresql пытался найти libreadline.6.2.dylib но ваша readline - версия 7.0, так что связана только 7 lib.

Я не думаю, что обновление postgresql - это хорошая идея, это не просто и может вызвать много проблем, особенно если у вас уже есть данные базы данных.

Что я делаю, так это переключаю версию readline. Когда вы проверяете brew info readline, вы найдете разные версии, моя - 6.3.8, поэтому я переключаюсь на эту версию, выполнив:

$ brew switch readline 6.3.8

Он изменится на 6.3.8 и создаст ссылку:

Cleaning /usr/local/Cellar/readline/6.3.8
Cleaning /usr/local/Cellar/readline/7.0.1
Opt link created for /usr/local/Cellar/readline/6.3.8

В этом случае вся связанная библиотека становится 6-й версией, и командная строка работает:

$ ls /usr/local/opt/readline/lib/
libhistory.6.2.dylib    libhistory.dylib    libreadline.a
libhistory.6.3.dylib    libreadline.6.2.dylib   libreadline.dylib
libhistory.6.dylib  libreadline.6.3.dylib
libhistory.a        libreadline.6.dylib

Однако, если у вас разные приложения, использующие другую версию readline, я думаю, вам стоит подумать об обновлении.


Обновление: 02/02/2019

Что если старая версия не установлена?

Homebrew не предоставляет способ установить старую формулу версии. А начиная с версии 2.0.0 он будет запускать brew cleanup качестве поведения по умолчанию каждые 30 дней. Поэтому вы можете случайно обновить brew и удалить старую версию.

Вот шаги для установки старой версии:

  1. Перейдите в каталог homebrew-core:
    $ cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
  1. Проверьте хэш для старой формулы:
    $ git log master -- Formula/readline.rb
  1. Найти соответствующую версию значения хеша
    commit 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f
    Author: BrewTestBot <brew-test-bot@googlegroups.com>
    Date:   Wed Aug 15 21:51:16 2018 +0000

        readline: update 7.0.5 bottle.
  1. Оформить заказ по старой формуле:
    $ git checkout 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f Formula/readline.rb
  1. Переустановите формулу:
    $ brew reinstall readline
  1. Сбросить репо

Следуя этим шагам, вы можете переустановить старую версию формулы.

+96
05 янв. '17 в 2:47
источник

Если ситуация у вас выше, читайте readline 7.0. Вы можете сделать это

cd /usr/local/opt/readline/lib    
ln libreadline.7.0.dylib libreadline.6.2.dylib
+67
11 нояб. '16 в 7:34
источник

Если у вас нет установленной линии чтения, сначала установите ее:

brew install readline

Для меня я получал эту ошибку, даже если у меня установлен readline. Повторная установка readline сделала трюк:

brew reinstall readline
+45
05 мар. '14 в 19:34
источник

Это сработало для меня

brew switch readline

Это будет отображать версии, которые вы установили. Выберите один из них. Я выбрал 7.0.5

Я тогда побежал

brew switch readline 7.0.5

Версия readline была обновлена, и psql работал гладко.

+21
11 дек. '18 в 12:04
источник

Решение состоит в том, чтобы снова принудительно связать линию чтения.

brew remove readline
brew install readline
brew link readline --force
+18
29 сент. '14 в 7:59
источник

это сработало для меня

ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
+18
29 мар. '17 в 7:24
источник

Ни один из этих решений не работал у меня; Мне пришлось бежать:

brew upgrade bash

from: https://github.com/Homebrew/homebrew-core/issues/5799

+8
24 окт. '16 в 9:33
источник

Ответ выше не работал для меня, поэтому я хотел опубликовать то, что в итоге сработало. Основываясь на теме, которую я нашел здесь, мне пришлось удалить readline и установить его снова, но из исходного кода.

brew uninstall readline
brew install --build-from-source readline

После этого ошибка psql ушла.

+6
24 июл. '14 в 18:33
источник

Мне кажется, проблема в обновлении пакета readline. Postgres попытался использовать /usr/local/opt/readline/lib/libreadline.7.dylib в моем случае. Поэтому я только что создал символическую ссылку на существующую версию библиотеки /usr/local/opt/readline/lib/libreadline.8.dylib.

работал на меня:

ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
+5
20 февр. '19 в 15:14
источник

У меня была эта проблема, и ключ для меня был reinstall как readline, так и postgres. После того, как postgres был переустановлен, проблема была решена.

+5
11 окт. '16 в 14:17
источник

У меня была эта проблема, когда я обновил readline до версии 7 случайно. Я удалил readline и brew напомнил мне, что 6.3.8 все еще установлен. Кажется, что версия 7 не работает с PSQL на данный момент.

+4
11 окт. '16 в 12:01
источник

Еще один способ исправить psql - это обновление postgresql brew upgrade postgresql, так как новая версия будет использовать версию readline 7.

+3
22 февр. '17 в 13:45
источник

Я пробовал все эти команды терминала и ничего не работал, поэтому решил исправить его вручную.

Открыть поиск и нажать команда + shift + g

Go to this folder /usr/local/opt/readline/lib/

вы должны увидеть несколько версий этих файлов

libreadline.6.dylib
libreadline.7.0.dylib

переименуйте любой из них в ту, где библиотека не загружена

this is: /usr/local/opt/readline/lib/libreadline.6.2.dylib
mine was: /usr/local/opt/readline/lib/libreadline.6.dylib
+3
11 нояб. '16 в 20:11
источник

Это помогло мне: удалите все readline и postgresql

export CPPFLAGS = -I/usr/local/opt/readline/include экспортировать LDFLAGS = -L/usr/local/opt/readline/lib

и установите posqtgresql

+2
01 окт. '16 в 11:56
источник

Я нашел это решение полезным

brew upgrade bash

https://github.com/Homebrew/homebrew-core/issues/5799

+1
02 нояб. '16 в 7:55
источник

Я попробовал все предварительные ответы, и ничего не получилось. Единственное, что действительно сработало для меня, было:

brew link postgresql

+1
23 февр. '17 в 15:14
источник

По какой-то неизвестной причине, когда эта ошибка появилась для следующей версии Readline, мой RVM, казалось, был не в состоянии найти нужный, независимо от того, как я его символизировал, выдавая:

Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib(LoadError)

В итоге я добавил gem rb-readline в свой Gemfile и выполнил другую bundle install и он начал работать.

Я... просто не знаю.

0
23 мая '18 в 23:39
источник

В моем случае правильный ответ не решил проблему.

Проблема началась после запуска brew doctor и добавления export PATH="/usr/local/bin:$PATH" в мой файл ~/.zshrc.

Удаление

export PATH="/usr/local/bin:$PATH" 

из ~/.zshrc получил это решено.

0
09 мар. '18 в 3:15
источник

Вы можете попробовать brew doctor и посмотреть, что он говорит.

Возможно, вам нужно всего лишь brew link --overwrite bash.

Для меня я только что обновил brew, так как у OS X EL Capitan было некоторое обновление безопасности, которое обменивает мою папку /usr. Во время обновления brew ссылка bash сломана, и это то, что говорит brew doctor.

Итак, я просто запускаю brew link --overwrite bash и все в порядке.

0
20 окт. '16 в 2:41
источник

Возможно, вы захотите проверить, есть ли что-нибудь еще, связанное с postgresql. Ранее я связался с пакетом postgres93, который по состоянию на май '17 не поддерживается и был удален. Удаление этой ссылки, а затем переработка работало на меня:

brew unlink postgresql93
brew link postgresql
0
30 мая '17 в 18:34
источник

Посмотрите другие вопросы по меткам или Задайте вопрос