J'essaie de courir mon Rails c
mais pour une raison quelconque, j'obtiens cette erreur:
https://Gist.github.com/anonymous/166713e8cde860fb188a8dffb98a156
ᐅ 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>’
Qu'est-ce que je devrais faire maintenant?
Cette commande corrige mon problème:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
OR
ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
J'ai écrit un résumé sur ce problème ici . Il y a beaucoup de gens qui partagent leurs solutions là aussi.
Ajoutez cette gemme à votre Gemfile et lancez bundle install
:
gem 'rb-readline'
J'ai eu le même problème sous-jacent, qui s'est également produit après une mise à jour Mac OSX. Mon problème s'est manifesté en utilisant 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, cela me dit donc qu'il attend libreadline.7.dylib
dans /usr/local/opt/readline/lib
. Lorsque je navigue dans ce répertoire, je peux voir que j’ai 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
J'ai supposé qu'émuler libreadline.7.dylib
en utilisant symlinking to libreadline.8.0.dylib
pourrait résoudre mon problème:
>> ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
Ce qui fait que mon appel à psql
fonctionne à nouveau, mais n'indique pas comment le problème a commencé.
J'ai installé à nouveau le Ruby de la même version. Ensuite, le message d'erreur a disparu. J'utilise macbook et 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
j'avais le même type de problème, mais c'était dû au fait que mon awk était lié à gawk conduisant à utiliser la mauvaise lib
cela a fonctionné pour moi
brew unlink gawk
Vient de recompiler Ruby version en utilisant readline mise à jour à partir de homebrew et cela fonctionne comme un charme.
rbenv install $(rbenv version-name)
Dans mon cas, readline était installé mais pas lié après une migration MacOS. Cette commande l'a corrigé:
brew link --force readline
il suffit de réinstaller Ruby 2.3.0 a corrigé mon problème sur les macos j’utilise rbenv rbenv install 2.3.0
a fait le tour