2016-10-03 7 views
44

Я не Homebrew эксперт, но я думаю, что это «обновление» меня от ReadLine версии 6.x до 7.0 через некоторое время после 9/15/16:Вернитесь к readline версии 6.x в Homebrew, чтобы исправить Postgresql?

[email protected]:Homebrew$ brew info readline 
readline: stable 7.0 (bottled) [keg-only] 
Library for command-line editing 
https://tiswww.case.edu/php/chet/readline/rltop.html 
/usr/local/Cellar/readline/7.0 (45 files, 2M) 

Это вызвало головную боль моей 9.4.5 Homebrew версии Postgresql (Мне нужно старше 9,4 по причинам сопоставимости):

[email protected]:~$ psql --version 
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib 
    Referenced from: /usr/local/Cellar/postgresql/9.4.5/bin/psql 
    Reason: image not found 
Trace/BPT trap: 5 

к сожалению, я не могу найти в версии 6.x Readline на Homebrew вернуться к - только 7,0, кажется, доступна (?).

Мой вопрос имеет два аспекта:

  • ли Readline несоответствие версий причиной моего Postgres/проблемы Psql?
  • Если да, то как я могу вернуться к 6.x с помощью Homebrew, чтобы исправить проблему?

Заранее благодарю вас!

+0

Точно такой же вопрос здесь :) – przbadu

ответ

26

Просто переустановить postgresql94 пакет, то PostgreSQL 9.4 будет использовать новый readline пакет:

brew reinstall postgresql94 
+1

У меня было то же самое в El Capitain. Это сработало для меня. – lcguida

+0

Это было немного сложнее, так как PostgreSQL ушел с 9.4.5 до 9.4.9 - но да, переустановив пакет PostgreSQL, используйте readline 7.0. Спасибо. – ericky

+3

Это не отвечает на вопрос, хотя –

57

Для ответа на конкретный вопрос.

Вы можете переключаться между версии установленных пакетов варева, которые до сих пор вокруг локально, как описано в этом вопросе: Homebrew install specific version of formula?

Чтобы понизить до ReadLine 6.x следующая команда работала для меня:

brew switch readline 6.3.8 
+7

Thx, но я знаком с' brew switch'. Как показано выводом 'brew info readline' выше, у меня нет v 6.x локально. Я не могу найти эту версию, доступную для загрузки на Homebrew ('brew search readline'). Конкретный вопрос: как его получить, если он больше не присутствует на вашей машине? – ericky

+0

ты спас мне жизнь! Благодаря – santuxus

+0

он работал для меня после установки новой версии readline. – wlads

23

Тем, кто все еще сталкивается с этой проблемой, но не может загрузить readline 6.3.8 из пакета homebrew. Вы можете попробовать это решение. (См от here)

# Uninstall this incompatible version 
brew uninstall readline 

# Go to the local clone of homebrew-core 
cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core 

# Move to the homebrew-core revision that had 6.3.8 
git checkout 35fed817726f61a9d40c8420582f6fde59eb5f14 

# Re-install readline 
brew reinstall readline 

# Switch back to HEAD 
git checkout master 

# Pin readline so this can't happen again 
brew pin readline 
+3

Спасибо @kah chiin Сэм! Человек, какой кошмар! – CpILL

+0

Это, кажется, больше не работает, потому что это совершает реф. больше не действует. Не знаю, почему, но это еще не в истории. – Andrew

+0

Большое спасибо! Это сработало для меня на MacOS Sierra (и у меня больше не было 6.3.8). Я запускаю postgres 9.4.9. Я скопировал команды из ссылки. Работал без сучка и задоринки. –

1

я смог преодолеть это с одеялом brew upgrade (обновить все варева управляемых пакетов).

0

Для людей, прибывающих из Rails с этой проблемой, вы можете просто добавить драгоценный камень readline и запустить bundle install.

gem 'rb-readline' #Fixed readline error