Je ne peux pas exécuter à rails console
cause 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. J'aimerais continuer à utiliser rbenv au lieu de rvm.
Merci d'avoir lu ma question.
Réponses:
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:
source: https://github.com/rails/rails/issues/26658
la source
Homebrew est génial, mais de temps en temps, il ne joue pas bien avec certaines des autres pièces mobiles.
Un
brew update && brew upgrade
importélibreadline.7.x.dylib
tout en supprimant automatiquementlibreadline.6.x.dylib
, sur lequel le rubis comptait toujours.Il existe peut-être des moyens plus intelligents de résoudre le problème, mais la force brute a fonctionné pour moi:
Ce qui précède suppose la présence de ce rbenv
ruby-build
et, bien sûr,bundler
; remplacez2.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 )
la source
gem install bundler
après l'installation de rbenv.brew update && brew upgrade
nouveau?brew upgrade
bibliothèque plus ancienne remplace une bibliothèque plus ancienne par une version plus récente, il y a CERTAINES chances que d'autres programmes de votre système se plaignent.Je suis sur OSX, ruby2.3.0, rails5. Ajout
gem 'rb-readline'
à monGemfile
résolu ce problème.la source
J'ai eu la même erreur avec Ruby 2.1.0 et rails 4.0. Après avoir beaucoup cherché et essayé, finalement ça marche bien :) Voici ce que j'ai fait:
Les autres moyens:
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.
la source
cleanup rvm
. justereinstall
la version rubis.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 de fichiers, je suppose que vous êtes sur un Mac, donc ce qui suit devrait vous aider:
Ceci a été tiré du Wiki de compilation ruby et d'une recherche rapide sur Google.
la source
bundle install
m'a montré de nombreux avertissements comme «Ignorer bcrypt-3.1.11 car ses extensions ne sont pas construites». Comme suggéré dans les réponses à cette question ,gem pristine --all
corrige toutes ces erreurs en même temps.En utilisant mac,
El Captain
version, il est possible de réparer simplement en faisant(comme
rvm reinstall ruby-2.3.1
)En espérant que ça aide, bonne chance!
la source
rvm reinstall $(rvm current)
tiré de l'utilisateur github @enderahmetyurt (c'est la seule solution qui a fonctionné pour moi).
Solution: ajoutez
gem 'rb-readline'
à votre Gemfile dans le groupe de développement et installez l'ensemble .C'est la solution la plus simple pour les erreurs stupides de "readline".
la source
la source