Ich habe Ruby 2.1.2 kürzlich wie folgt neu installiert, da ich ein gem ( ruby-debug-ide
) installieren wollte.
sudo rvm reinstall 2.1.2 --disable-binary --with-gcc=gcc-4.2
Seitdem kann ich meine Konsole bundle exec rails c
aufgrund des folgenden Fehlers nicht mehr laden :
/Users/ohad/.rvm/gems/ruby-2.1.2@aaa/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require': dlopen(/Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/readline.bundle, 9): Library not loaded: @@HOMEBREW_PREFIX@@/opt/readline/lib/libreadline.6.dylib (LoadError)
Referenced from: /Users/ohad/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/readline.bundle
Versucht brew uninstall readline
und brew install --build-from-source readline
was funktioniert hat, aber mein Problem nicht gelöst.
ruby-on-rails
ruby
macos
WebQube
quelle
quelle
Antworten:
Ich bin heute darauf gestoßen, um es zu lösen:
brew rm -f readline
brew install readline
brew link readline --force
Ich hoffe es hilft.
BEARBEITEN: Ich bin kürzlich erneut auf dieses Problem gestoßen (nach dem Downgrade von Ruby), seit ich dies geschrieben habe, und ich bevorzuge jetzt die Lösung von @ califrench aus den folgenden Kommentaren:
ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
quelle
brew doctor
es mir beim Ausführen sagt, dass ich die Verknüpfung aufheben soll? Ich denke, das ist es, was den Fehler verursacht hat, seltsamerweise.cp /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
hat der Trick getan. Sieht aus wie Schienen 4.2.6 gesuchtlibreadline.6
stattlibreadline
. Um ehrlich zu sein, hätte ich es wahrscheinlich miteinander verknüpfen sollen. Istln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
also angemessener. hoffe, das hilft anderen, die noch stecken!rails c
nach dem Upgrade auf Sierra fehlerhaft war.Sieht aus wie Schienen 4.2.6 gesucht
libreadline.6
stattlibreadline
. Sie müssen also nur einen Symlink erstellen.ln -s /usr/local/opt/readline/lib/libreadline.dylib \ /usr/local/opt/readline/lib/libreadline.6.dylib
Hoffe das hilft anderen, die noch festsitzen!
quelle
...libreadline.6.dylib
zu...libreadline.7.dylib
Ich konnte das gleiche Problem lösen, indem ich Ruby neu installierte. Auf der Homebrew-Seite hat die Neuinstallation von readline (auch von der Quelle) nicht geholfen.
Ich benutze RVM, also hat das für mich sortiert:
rvm reinstall 2.3.1
Ich denke, Homebrew hat kürzlich Readline v7 für ein anderes Paket eingezogen, von dem ich vermute, dass es der Schuldige sein könnte.
quelle
rbenv install -f 2.3.1
.Nachdem ich viele positive Rückmeldungen zu meinem Kommentar zu @ mauro_otos Beitrag erhalten hatte, dachte ich, ich würde dies als Antwort posten:
quelle
Durch Hinzufügen
gem 'rb-readline'
zu meinem wurdeGemfile
dieses Problem für mich behoben. Siehe https://github.com/ConnorAtherton/rb-readline .quelle
Nichts davon hat bei mir funktioniert. Ich benutze osx sierra. Das hat bei mir funktioniert.
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
Hoffe das hilft jemandem da draußen.
quelle
Meine ENV: Ruby: 2.2.1, Rails: 4.2.1, macOS Sierra 10.12.4;
Der folgende Befehl funktioniert für mich und meinen Kollegen:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
quelle
Dies löste mein Problem:
Ersetzen Sie libreadline. {Version} .dylib durch die Version, für die Sie eine Fehlermeldung erhalten:
ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
quelle
Unter OSX mit Homebrew können Sie angeben, welche Readline-Version aktiv ist. z.B
brew switch readline 6.3.8
(Es ist wahrscheinlich installiert in
/usr/local/Cellar/readline/
)quelle
Ich hatte ein ähnliches Problem, aber mit aktuelleren Versionen. Der Fehler, den ich hatte, war:
dlopen(/Users/juanjo/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/x86_64-darwin18/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError) Referenced from: /Users/juanjo/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/x86_64-darwin18/readline.bundle Reason: image not found - /Users/juanjo/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/x86_64-darwin18/readline.bundle
Der wichtige Teil ist
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Beim Betrachten
/usr/local/opt/readline/lib/
sah ich, dass ich installiert hattelibreadline.8.dylib
, nicht 7.Um mein Problem zu lösen, musste ich, geleitet von den anderen Antworten, Folgendes tun:
ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
Mit anderen Worten :
ln -s /.../[libreadline you have] /.../[libreadline you need]
.quelle