我遇到需要'digest/sha1'
的問題。Ruby中的LoadError
~$ ./configure --prefix=$HOME/usr --program-suffix=19 --enable-shared
~$ make
~$ make install
~$ irb19
irb(main):001:0> require 'digest/sha1'
LoadError: dlopen(/Users/matan/usr/lib/ruby19/1.9.1/i386-darwin9.8.0/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish
Referenced from: /Users/matan/usr/lib/ruby19/1.9.1/i386-darwin9.8.0/digest/sha1.bundle
Expected in: flat namespace
- /Users/matan/usr/lib/ruby19/1.9.1/i386-darwin9.8.0/digest/sha1.bundle
from (irb):1:in `require'
from (irb):1
from /Users/matan/usr/bin/irb19:12:in `<main>'
irb(main):002:0>
我知道一些標準模塊需要罰款,而另一些則不需要。如果我說require 'yaml'
甚至require 'digest'
那麼這工作正常。我正在使用OS X 10.5.8和Ruby 1.9.1-p378。 Ruby 1.8.6的系統安裝很好。
就在上週我卸載了Ruby並重新安裝了它。當我第一次安裝Ruby時,我以類似的方式安裝了它,來自我的本地$HOME/usr
目錄前綴。我試圖刪除每個文件make install
安裝,然後重新安裝,但沒有幫助。
你知道這個問題是什麼以及如何解決它嗎?
事實上,在RVM的Ruby 1.9.2-head中,我沒有需要digest/sha1的問題。但是我仍然想知道從源代碼安裝時出了什麼問題。我也遇到了安裝1.9.2-head以外的任何Ruby的問題,但我想這屬於一個新的,不同的問題。 – wilhelmtell 2010-06-21 18:10:38
通過徹底刪除OpenSSL,我看到在嵌入式Linux系統上修復了這樣一個問題。但是這實際上打破了rubygems。 – 2010-06-21 21:39:07
我認爲應該是'rvm pkg install openssl'而不是'rvm package install openssl' – Oleander 2012-02-08 00:09:45