Je ne peux pas exécuter Rails console
en raison de cette erreur:
localhost:TwitterForZombies wiz$ Rails c
/Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError)
Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands/console.rb:3:in `require'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands/console.rb:3:in `<top (required)>'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands.rb:38:in `require'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands.rb:38:in `<top (required)>'
from script/Rails:6:in `require'
from script/Rails:6:in `<main>'
J'ai installé readline via homebrew. Je voudrais continuer à utiliser rbenv au lieu de rvm.
Merci d'avoir lu ma question.
J'ai eu le même problème récemment avec homebrew et libreadline.7.x.dylib/libreadline.6.x.dylib
Je l'ai résolu en exécutant:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
Homebrew est génial, mais de temps en temps, il ne joue pas à Nice avec certaines des autres parties mobiles.
Un brew update && brew upgrade
A introduit libreadline.7.x.dylib
Tout en supprimant automatiquement libreadline.6.x.dylib
, Sur lequel Ruby comptait toujours).
Il peut y avoir des moyens plus intelligents de résoudre le problème, mais la force brute a fonctionné pour moi:
$ rbenv uninstall 2.3.1
$ rbenv install 2.3.1
$ cd /path/to/my/app
$ bundle
Ce qui précède suppose la présence du rbenv Ruby-build
Et, bien sûr, bundler
; remplacez 2.3.1
par la version de Ruby que vous utilisez.
Veuillez noter que des problèmes similaires peuvent survenir avec différentes bibliothèques gérées par homebrew ( voir ma propre réponse à cela, par exemple )
Je suis sur OSX, Ruby2.3.0, Rails5. Ajouter gem 'rb-readline'
à mon Gemfile
a résolu ce problème.
J'ai eu la même erreur avec Ruby 2.1.0, et Rails 4.0. Après avoir cherché et essayé beaucoup, finalement ça marche bien :) Voici ce que je fait:
rvm cleanup all
rvm autolibs enable
rvm install 2.1.0
Les autres voies:
brew update
brew uninstall readline
brew install readline
La commande autolibs forcera RVM à installer toutes les dépendances, vous n'avez donc pas à vous en préoccuper.
J'espère que c'est utile.
Comme Sachin l'a laissé entendre, installer readline puis réinstaller Ruby est l'approche idéale - mais les détails sont un peu différents pour rbenv. Compte tenu de vos chemins d'accès aux fichiers, je suppose que vous êtes sur un Mac, donc ce qui suit devrait aider:
brew install readline Ruby-build
env CONFIGURE_OPTS=--with-readline-dir=`brew --prefix readline` rbenv install 1.9.3-p286
Ceci a été tiré de le Wiki de Ruby-build et d'une recherche rapide sur Google.
Utilisation de mac, El Captain
version, il est possible de corriger juste en faisant
rvm reinstall your_Ruby_version
(comme rvm reinstall Ruby-2.3.1
)
En espérant que ça aide, bonne chance!
extrait de l'utilisateur de github @enderahmetyurt (c'est la seule solution qui a fonctionné pour moi).
Solution: ajoutez gem 'rb-readline'
à votre Gemfile dans groupe de développement et installation du bundle.
C'est la solution la plus simple pour les erreurs stupides de "readline".
essayez d'installer readline et réinstallez votre Ruby