Bibliothek nicht geladen: /usr/local/opt/readline/lib/libreadline.6.dylib (LoadError)


78

Ich versuche mein auszuführen, rails caber aus irgendeinem Grund wird folgende Fehlermeldung angezeigt:

https://gist.github.com/anonymous/166713e8cde860fb188a8dffb98a1563

ᐅ rails c
Running via Spring preloader in process 6609
/Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require': dlopen(/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib (LoadError)
  Referenced from: /Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
  Reason: image not found - /Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/irb/completion.rb:10:in `<top (required)>'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/railties-4.2.6/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:58:in `console'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
    from /Users/zulhilmi/hello_gold/cws/bin/rails:8:in `<top (required)>'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `block in load'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /Users/zulhilmi/.rvm/gems/ruby-2.3.1@useradmin/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
    from /Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>’

Was sollte ich jetzt tun?


Diese Frage wurde hier bereits beantwortet. Siehe diesen Link, stackoverflow.com/questions/40435824/… Ich habe sie auch in unserer Slack-Gruppe beantwortet.
Shawn Wilson

Antworten:


239

Dieser Befehl behebt mein Problem:

ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib

ODER

ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib

Ich schrieb einen Gist über dieses Problem hier . Auch dort teilen viele Menschen ihre Lösungen.


5
Dies mag offensichtlich klingen, aber wenn der Befehl nicht wörtlich funktioniert, ändern Sie die Versionen so, dass sie die erwartete Version und die nächstgelegene Version im Verzeichnis sind. Mein Computer erwartete Version 6 und ich hatte Version 7.
user478798

1
Für mich musste ich mich ein bisschen ändern -ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
Huzaifa Saifuddin

38
ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylibkann auch eine Lösung sein
okliv

1
Irgendwelche Erklärungen?
YasirAzgar

ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylibIch denke, Sie müssen überprüfen, welche installiert ist, /usr/local/opt/readline/libund diese dann verknüpfen libreadline.6.dylib. In meinem Fall musste ich 6 mit 8 verknüpfen. In der Antwort @Zulhilmi verknüpfte 6 mit 7.
wuliwong

63

Füge diesen Edelstein deiner Gemfile hinzu und starte bundle install:

gem 'rb-readline'

Gem ist die Implementierung von Readline in Ruby anstelle von C, was wahrscheinlich nicht so gut ist.
Kiryl Plyashkevich

1
Hat super funktioniert. Zweckmäßig und doch konservativ. Es gibt keine zu vergessenden Symlinks, keine Installationen, die andere Probleme verursachen könnten.
Hawmack13

18

Ich hatte das gleiche zugrunde liegende Problem, das auch nach einem Mac OSX-Update auftrat. Mein Problem manifestierte sich mit psql:

>> psql --help

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/psql
  Reason: image not found

OK, so wird dies mir zu sagen , dass es erwartet , libreadline.7.dylibin /usr/local/opt/readline/lib. Wenn ich dieses Verzeichnis durchsuche, sehe ich libreadline.8.0.dylib:

>> ls -l /usr/local/opt/readline/lib

total 1448
 libhistory.8.0.dylib
 libhistory.8.dylib -> libhistory.8.0.dylib
 libhistory.a
 libhistory.dylib -> libhistory.8.0.dylib
 libreadline.8.0.dylib
 libreadline.8.dylib -> libreadline.8.0.dylib
 libreadline.a
 libreadline.dylib -> libreadline.8.0.dylib

Ich ging davon aus, dass das Emulieren libreadline.7.dylibmithilfe von Symlinking libreadline.8.0.dylibmein Problem lösen könnte:

>> ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib

Das bringt meinen Anruf wieder zur psqlArbeit, geht aber nicht darauf ein, wie das Problem überhaupt angefangen hat.


4

Ich habe den Ruby der gleichen Version noch einmal installiert. Dann ist die Fehlermeldung jetzt weg. Ich benutze MacBook und Homebrew.

$ rbenv install 2.3.8
rbenv: /Users/klee/.rbenv/versions/2.3.8 already exists
continue with installation? (y/N) y
ruby-build: use openssl from homebrew
Downloading ruby-2.3.8.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.bz2
Installing ruby-2.3.8...
ruby-build: use readline from homebrew
Installed ruby-2.3.8 to /Users/klee/.rbenv/versions/2.3.8

Ist mir am passiert 2.1.10. Durch Neuinstallation behoben.
Jagdeep Singh

Dies scheint der richtige Ansatz zu sein (besser als anzunehmen, dass Version 8 einer Bibliothek mit Version 7 kompatibel ist). Für rvm:rvm reinstall ruby-2.6.2
jwadsack

3

Einfach die Ruby-Version mit der aktualisierten Readline von Homebrew neu kompiliert und es funktioniert wie ein Zauber.

rbenv install $(rbenv version-name)

2

Ich hatte die gleiche Art von Problem, aber es lag an der Tatsache, dass mein awk mit gawk verbunden war, was zur Verwendung der falschen Bibliothek führte

das hat bei mir funktioniert

brew unlink gawk


0

In meinem Fall wurde readline installiert, aber nach einer MacOS-Migration nicht verknüpft. Dieser Befehl hat es behoben:

brew link --force readline

0

einfach Neuinstallation Rubin 2.3.0 mein Problem auf macos fixiert Ich benutze rbenv rbenv install 2.3.0der Trick

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.