Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib (LoadError)

Ruby on-RailsRubyRuby on-Rails-4

Ruby on-Rails Problem Overview


I try to run my rails c but for some reason, I get this error:

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>’

What should I do now?

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

This command fix my problem:

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

I wrote a Gist about this problem here. There are many people sharing their solutions there too.

Solution 2 - Ruby on-Rails

Add this gem to your Gemfile and run bundle install:

gem 'rb-readline'

Solution 3 - Ruby on-Rails

I had the same underlying issue, which also occurred after a Mac OSX update. My problem manifested using 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 this is telling me that it's expecting libreadline.7.dylib in /usr/local/opt/readline/lib. When I browse that directory, I can see I have 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

I made the assumption that emulating libreadline.7.dylib by using symlinking to libreadline.8.0.dylib could resolve my problem:

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

Which makes my call to psql work again, but doesn't address how the problem started in the first place.

Solution 4 - Ruby on-Rails

I installed the ruby of same version over again. Then the error message is gone now. I use macbook and 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

Solution 5 - Ruby on-Rails

Just recompiled ruby version using updated readline from homebrew and it works like a charm.

rbenv install $(rbenv version-name)

Solution 6 - Ruby on-Rails

i was having the same type of issue but it was due to the fact that my awk was linked to gawk leading to using the wrong lib

this worked for me

brew unlink gawk

Solution 7 - Ruby on-Rails

simply reinstalling ruby 2.3.0 fixed my problem on macos I use rbenv rbenv install 2.3.0 did the trick

Solution 8 - Ruby on-Rails

In my case readline was installed but not linked after a MacOS migration. This command fixed it:

brew link --force readline

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionZulhilmi ZainudinView Question on Stackoverflow
Solution 1 - Ruby on-RailsZulhilmi ZainudinView Answer on Stackoverflow
Solution 2 - Ruby on-Railsz atefView Answer on Stackoverflow
Solution 3 - Ruby on-RailsChristopher CompeauView Answer on Stackoverflow
Solution 4 - Ruby on-RailskangkyuView Answer on Stackoverflow
Solution 5 - Ruby on-RailsKiryl PlyashkevichView Answer on Stackoverflow
Solution 6 - Ruby on-RailsScottView Answer on Stackoverflow
Solution 7 - Ruby on-RailsSathishView Answer on Stackoverflow
Solution 8 - Ruby on-RailsGusView Answer on Stackoverflow