【发布时间】:2012-02-18 11:49:04
【问题描述】:
当使用 Koala gem 通过 HTTP 通信时,Ruby 不断出现段错误:
/Users/pawel/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault
我尝试了以下方法:
- 运行
which -a ruby,它通过MacPorts 显示了多个红宝石。所以我删除了这些并再次运行相同的命令只返回/usr/bin/ruby - 我已经删除了 PostgreSQL 的 MacPorts 版本并使用 Homebrew 安装了它(使用 MacPorts,它安装了自己的 OpenSSL 版本)
- 运行
openssl version返回OpenSSL 1.0.0g 18 Jan 2012 - 我从 RVM 中删除了 Ruby 1.9.3,并尝试了 Luciano 的以下方法,但没有成功。
- 我还尝试从 RVM 重新安装 1.9.3 并指定
--with-openssl-dir=/opt/local,因为which openssl返回/opt/local/bin/openssl - 我已经重新安装了 RVM(它现在是
/Users/pawel/.rvm/bin/rvm中的 1.10.2 版) - 我已经升级到 Ruby 1.9.3-p125 并且还尝试了 1.9.2
- 我已按照此处的说明进行操作:http://www.christopherirish.com/2011/09/02/ruby-1-9-2-segmentation-fault-and-openssl/(实际上是我上面的步骤)。我还阅读了 Christopher 之前的帖子 here。
-
在我的项目目录中,当我运行以下命令时,我会得到预期的
0.:ruby -rubygems -e" require 'eventmachine'; require 'openssl' "; echo $? - 我尝试过
sudo port -f deactivate openssl,但是当我尝试启动Rails 服务器时,我得到Library not loaded: /opt/local/lib/libssl.1.0.0.dylib
我需要更多关于我可以尝试什么或我错过的东西的想法。
【问题讨论】:
-
我从 rvm (
rvm pkg install openssl) 中删除了~/.rvmdir nad 安装的 rvm、ruby 和openssl包,一切都开始正常工作了 -
你的意思是运行
rvm implode?你的rvm install ruby 1.9.3标志看起来怎么样? -
我不知道
implode。我已经手动删除了 rvm dirrm -rf ~/.rvm,然后再次安装 rvm,然后是rvm pkg install openssl、rvm pkg install iconv、rvm install 1.9.2 --with-openssl-dir=$rvm_path/usr --with-iconv-dir=$rvm_path/usr(是的,大约是 1.9.2,但我认为它没有区别)跨度> -
我以前试过这个,昨晚又试了一次,还是不行。
标签: ruby ruby-on-rails-3 openssl segmentation-fault net-http