Geo*_*ieF 4 ruby openssl rvm osx-lion
我已经绝望了,现在两个(!!)天都没有解决方案来解决以下问题.
在更新Lion之后,我想使用最新版本的rvm安装其他红宝石.
以下是我之后调用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)
Run Code Online (Sandbox Code Playgroud)
好的,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
Run Code Online (Sandbox Code Playgroud)
结果相同.
我很绝望.有人可以帮忙吗?问菲利克斯
Geo*_*ieF 14
对于任何应该在Lion上遇到此问题的人来说......这是来自openssl的重复标题的一些问题.您可以在本地安装openssl并告诉rvm使用该本地openssl版本.
您可以使用前缀/ usr/local手动编译opnessl,或者只是让rvm完成工作:
rvm pkg install openssl
Run Code Online (Sandbox Code Playgroud)
然后告诉rvm在ruby安装期间链接该版本:
rvm install 1.9.2 --with-openssl-dir=/path/to/your/home/.rvm/usr
Run Code Online (Sandbox Code Playgroud)
如果您已经有本地安装替换为:
rvm install 1.9.2 --with-openssl-dir=/usr/local
Run Code Online (Sandbox Code Playgroud)
不要尝试经常阅读的内容:
rvm install 1.9.2 -C --with-openssl-dir=/path/to/your/home/.rvm/usr
Run Code Online (Sandbox Code Playgroud)
这不起作用.
| 归档时间: |
|
| 查看次数: |
4902 次 |
| 最近记录: |