Lion:RVM安装rubies的问题 – 与openssl相关的问题

我已经绝望了,现在两个(!!)天都没有解决方案来解决以下问题。

在对Lion进行更新后,我想使用最新版本的rvm安装其他ruby。

以下是我之后调用bundler时会发生的事情:

/Users/felix/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/Users/janroesner/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/x86_64-darwin11.1.0/digest/sha1.bundle, 9): Symbol not found: _SHA1_Init (LoadError) 

好的,openssl问题。 所以我检查了没有openssl但是/ usr中的系统有/ usr / lib中的库和/ usr / include / openssl中的头文件。 校验。

我决定用brew安装一个更新的版本。 之后,没有ruby编译已经定义了BN_rand_range和BN_peudo_rand_range的错误。

似乎是对最近的gcc进行更严格的类型检查,所以我在/usr/include/openssl/bn.h中取消注释导致冲突的411和412行导致ruby定义它们自己。 现在ruby编译但我收到相同的错误符号未找到:_SHA1_Init。

所以我删除了openssl头文件bn.h中的注释,我之前放在那里并尝试相反的方法。 我在〜/ .rvm / src / ruby​​-1.9.2-p290 / ext / openssl / openssl_missing.h中对这些行进行了评论。

结果相同。

之后我完全删除了〜/ .rvm,重新安装它并且……有同样的问题。

现在我试过了:

 rvm pkg install openssl rvm remove 1.9.2-p290 rvm install 1.9.2-p290 -C --with-openssl-dir=$rvm_path/usr 

结果相同。

我很绝望。 有人可以帮忙吗? 问菲利克斯

对于任何应该在Lion上遇到此问题的人来说……这是来自openssl的重复标题的一些问题。 您可以在本地安装openssl并告诉rvm使用该本地openssl版本。

您可以使用前缀/ usr / local手动编译opnessl,或者只是让rvm完成工作:

 rvm pkg install openssl 

然后告诉rvm在ruby安装期间链接该版本:

 rvm install 1.9.2 --with-openssl-dir=/path/to/your/home/.rvm/usr 

如果您已经有本地安装替换为:

 rvm install 1.9.2 --with-openssl-dir=/usr/local 

不要尝试经常阅读的内容:

 rvm install 1.9.2 -C --with-openssl-dir=/path/to/your/home/.rvm/usr 

这不起作用。

我刚刚完成了本教程,它没有任何问题:Rails Up: http : //www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew -rvm和- MySQL的/