Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 库未加载:/usr/local/opt/readline/lib/libreadline.6.dylib(加载错误)_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 库未加载:/usr/local/opt/readline/lib/libreadline.6.dylib(加载错误)

Ruby on rails 库未加载:/usr/local/opt/readline/lib/libreadline.6.dylib(加载错误),ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我尝试运行我的rails c,但由于某些原因,我出现了以下错误: ᐅ 轨道c 通过过程6609中的弹簧预紧器运行 /Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:274:in'require':dlopen(/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86\u

我尝试运行我的
rails c
,但由于某些原因,我出现了以下错误:

ᐅ 轨道c
通过过程6609中的弹簧预紧器运行
/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:274:in'require':dlopen(/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86\u 64-darwin15/readline.bundle,9):库未加载:/usr/local/opt/readline/lib/libreadline.6.dylib(LoadError)
引用自:/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86_64-darwin15/readline.bundle
原因:找不到映像-/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86\u 64-darwin15/readline.bundle
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:274:in`block in require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:240:in'load\u-dependency'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-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`'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:274:in'require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:274:in`block in require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:240:in'load\u-dependency'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:274:in'require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/railties-4.2.6/lib/rails/commands/console.rb:3:in`'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:274:in'require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:274:in`block in require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:240:in'load\u-dependency'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:274:in'require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/railties-4.2.6/lib/rails/commands/commands\u tasks.rb:123:in'require\u command!'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:58:in'console'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/railties-4.2.6/lib/rails/commands/commands\u tasks.rb:39:in'run\u command!'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/railties-4.2.6/lib/rails/commands.rb:17:in`'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:274:in'require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:274:in`block in require'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:240:in'load\u-dependency'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:274:in'require'
from/Users/zulhilmi/hello\u gold/cws/bin/rails:8:in`'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:268:in'load'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u support/dependencies.rb:268:in'block in load'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:240:in'load\u-dependency'
来自/Users/zulhilmi/.rvm/gems/ruby-2.3。1@useradmin/gems/activesupport-4.2.6/lib/active\u-support/dependencies.rb:268:in'load'
from/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
from/Users/zulhilmi/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
from-e:1:in`'

现在该怎么办?

此命令解决了我的问题:

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


我写了一篇关于这个问题的要点。也有很多人在那里分享他们的解决方案。

将此gem添加到您的gem文件中,然后运行
捆绑安装

gem 'rb-readline'

我也有同样的问题,但这是因为我的awk与gawk相关,导致使用了错误的lib

这对我有用


brew取消链接gawk

在我的例子中,readline已安装,但在MacOS迁移后未链接。此命令修复了它:

brew link --force readline

我重新安装了相同版本的ruby。那么错误信息现在就消失了。我使用macbook和自制软件

$ 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

我有同样的潜在问题,这也发生在MacOSX更新之后。我的问题在使用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
好的,这告诉我它在
/usr/local/opt/readline/lib
中需要
libreadline.7.dylib
。当我浏览该目录时,我可以看到我有
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.8.0.dylib
来模拟
libreadline.7.dylib
可以解决我的问题:

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

这使得我对
psql
的调用再次起作用,但没有解决问题最初是如何开始的

只需重新安装ruby 2.3.0就可以解决我在macos上的问题 我使用rbenv
rbenv install 2.3.0
做到了这一点

只是使用自制更新的readline重新编译了ruby版本,它的工作非常出色

rbenv install $(rbenv version-name)

这听起来很明显,但如果命令不能逐字执行,请将版本更改为b