Ruby最近在我兄弟的機器上停止工作。LoadError:dlopen(digest/sha1.bundle):未找到符號:_rb_Digest_SHA1_Finish
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
的OS提供的版本工作。但它是1.8.7。
經過幾個小時的故障排除,我們到達了下面的解決方案。我希望它能幫助你避免一些痛苦。
重新安裝ruby爲我工作。 '未設置C_INCLUDE_PATH'不是必需的。 – 2014-10-10 20:39:11