Rails c
を実行しようとしましたが、何らかの理由でこのエラーが発生します。
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>’
私は今どうすればいい?
このコマンドは私の問題を修正します:
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
この問題に関する要点を書いた こちら 。ソリューションを共有している人も多くいます。
このgemをGemfileに追加して、bundle install
を実行します。
gem 'rb-readline'
Mac OSXのアップデート後にも同じ根本的な問題がありました。私の問題は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、だからこれはlibreadline.7.dylib
の/usr/local/opt/readline/lib
を期待していると言っている。そのディレクトリを参照すると、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
libreadline.7.dylib
へのシンボリックリンクを使用してlibreadline.8.0.dylib
をエミュレートすると問題が解決できると仮定しました。
>> ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
psql
への呼び出しは再び機能しますが、そもそも問題がどのように始まったのかについては触れていません。
同じバージョンのRubyを再度インストールしました。その後、エラーメッセージは消えました。私はmacbookと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
私は同じタイプの問題を抱えていましたが、それは私のawkが間違ったlibの使用につながるgawkにリンクされていたという事実によるものでした
これは私のために働いた
brew unlink gawk
Homebrewの更新されたreadlineを使用してRubyバージョンを再コンパイルするだけで、魅力的に機能します。
rbenv install $(rbenv version-name)
私の場合、readlineはインストールされましたが、MacOSの移行後にリンクされませんでした。このコマンドはそれを修正しました:
brew link --force readline
単にRuby 2.3.0を再インストールすると、rbenv rbenv install 2.3.0
を使用してmacosで問題が解決しました