2016-10-03 2 views
44

Je ne suis pas expert Homebrew mais je pense qu'il a « amélioré » moi de la version 6.x readline à 7,0 quelque temps après 9/15/16:Retour à la version 6.x de Homebrew pour corriger 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) 

Cela a causé des maux de tête pour ma 9.4.5 Version Homebrew de Postgresql (J'ai besoin plus 9.4 pour des raisons de comparabilité):

[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 

Malheureusement je ne peux pas trouver une version 6.x de readline sur Homebrew pour revenir à - seulement 7.0 semble être disponible (?).

Ma question est double:

  • Est-ce la version readline mismatch la cause de mon postgres/problème psql?
  • Si oui, comment puis-je revenir à 6.x avec Homebrew pour corriger le problème?

Merci d'avance!

+0

Exactement le même problème ici :) – przbadu

Répondre

26

Il suffit de réinstaller package postgresql94, PostgreSQL 9.4 utilisera le nouveau package readline:

brew reinstall postgresql94 
+1

J'ai eu le même dans El Capitain. Cela a fonctionné pour moi. – lcguida

+0

C'était un peu plus compliqué puisque PostgreSQL était passé de 9.4.5 à 9.4.9 - mais oui, la réinstallation du paquetage PostgreSQL utilisait readline 7.0. Je vous remercie. – ericky

+3

Cela ne répond pas à la question si –

57

Pour répondre à la question spécifique.

Vous pouvez basculer entre la version des packages de brassage installés qui sont encore autour localement comme expliqué dans cette question: Homebrew install specific version of formula?

Pour revenir à la version 6.x readline la commande suivante a fonctionné pour moi:

brew switch readline 6.3.8 
+7

Thx, mais je suis familier avec« interrupteur de brassage ». Comme indiqué par la sortie 'infuser info readline' ci-dessus, je n'ai pas v 6.x localement. Je ne trouve pas cette version disponible en téléchargement sur Homebrew («lire la bibliographie»). La question spécifique est: comment l'obtenir si elle n'est plus présente sur votre machine? – ericky

+0

vous m'avez sauvé la vie! merci – santuxus

+0

cela a fonctionné pour moi après l'installation d'une nouvelle version de readline. – wlads

23

Pour ceux qui sont toujours confrontés à ce problème mais ne peuvent pas télécharger le readline 6.3.8 à partir du package homebrew. Vous pouvez essayer cette solution. (Reportez-vous à partir 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

Merci @kah chiin Sam! L'homme, quel cauchemar! – CpILL

+0

Cela semble ne plus fonctionner car ce commit réf. n'est plus valide. Je ne sais pas pourquoi, mais ce n'est pas dans l'histoire non plus. – Andrew

+0

Merci beaucoup !! Cela a fonctionné pour moi sur MacOS Sierra (et je n'avais plus 6.3.8). Je cours postgres 9.4.9. J'ai copié les commandes du lien. Travaillé sans accroc. –

1

j'ai pu surmonter cela avec une couverture brew upgrade (mise à jour tous les paquets géré BREW).

0

Pour les personnes provenant de Rails avec ce problème, vous pouvez simplement ajouter la gemme readline et exécuter bundle install.

gem 'rb-readline' #Fixed readline error