/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显示多个Rubies。所以我删除了那些并再次运行相同的命令只返回/usr/bin/ruby
openssl version
会返回OpenSSL 1.0.0g 18 Jan 2012
--with-openssl-dir=/opt/local
,因为which openssl
返回/opt/local/bin/openssl
/Users/pawel/.rvm/bin/rvm
中的版本1.10.2)在我的项目目录中,当我运行以下内容时,我得到了预期的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
我还需要一些关于我还能尝试什么的想法,或者我错过的事情。
答案 0 :(得分:7)
我也遇到了相同的Segmentation Fault错误,但我正在尝试列出AWS-S3上的文件。
修改强>:
这种方式对我有用:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$HOME/.rvm/bin
rvm remove 1.9.3
rvm pkg install iconv
rvm pkg install openssl
rvm install ruby-1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr
答案 1 :(得分:2)
问题似乎是Homebrew和MacPorts存在冲突,所以我删除了MacPorts,删除了所有包和/opt/local/
目录。由于在Homebrew上安装PostgreSQL,这导致了 PG gem的一些问题。
所以我删除了Postgres公式,然后重新安装它,并使用Homebrew进行OpenSSL安装。
之后我破坏了RVM并再次安装了它和我的Rubies(不确定这一步是否必要)并最终确实有效。
答案 2 :(得分:0)
我也遇到过这个问题,但使用了不同的解决方案。这是full stack trace of the error。
以下是官方错误报告:http://bugs.ruby-lang.org/issues/6184堆栈跟踪下方的回复非常有用。
如果你使用OS X的默认openssl - >喜欢
brew install openssl
并使用已安装的openssl进行构建,然后再试一次。如果您使用的是由用户安装的openssl - >使用OS X默认ssl构建并重试。
这听起来类似于readline library installed in MacPorts broke a ruby installation时最近的问题。在破损的ruby安装上运行以下脚本显示它正在加载MacPorts openssl lib
require 'net/https'
puts `lsof -p #{$$} | grep ssl | awk '{print $9}'`
(输出)
/Users/john/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.2.0/openssl.bundle
/opt/local/lib/libssl.1.0.0.dylib
解决方案是在安装ruby时暂时将MacPorts移出/opt/local
。
sudo lsof | grep /opt/local
查看哪些内容正在运行。sudo mv /opt/local /opt/localbak
sudo mv /opt/localbak /opt/local
之后,ruby安装与MacPorts一起正常工作,并且没有从MacPorts加载libssl文件。