Ruby 最近停止在我兄弟的机器上工作。
gem
命令rails server
rails console
全部失败并出现以下错误:
$ irb
irb(main):001:0> require 'digest/sha1'
LoadError: dlopen(~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish
Referenced from: ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
Expected in: flat namespace
in ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle - ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):1
from ~/.rbenv/versions/2.0.0-p0/bin/irb:12:in `<main>'
他尝试了不同版本的 Ruby。重新安装一切rvm
。运行rvm implode
并重新安装rvm
。切换到rbenv
. 通过ruby-build
. brew install ruby
.
所有人都有同样的问题。
如果他卸载了所有的红宝石,操作系统提供的版本就可以/usr/bin/ruby
工作了。但它是 1.8.7。
经过数小时的故障排除后,我们得出了以下解决方案。我希望它可以帮助您避免一些痛苦。