全新安装后持久性Ruby segfaulting [英] Persistent Ruby segfaulting after a clean install
问题描述
在使用Koala gem通过HTTP进行对话时,Ruby会一直存在段错误:
Ruby keeps segfaulting when using the Koala gem to talk over HTTP:
/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/(实际上是我上面的步骤) .我还阅读了克里斯托弗的上一篇文章这里.
-
在我的项目目录中,运行以下命令,然后得到预期的
0
:
- Run
which -a ruby
which showed multiple Rubies via MacPorts. So I deleted those and running the same command again returns only/usr/bin/ruby
- I've removed the MacPorts version of PostgreSQL and installed it with Homebrew instead (With MacPorts, it installs its own version of OpenSSL)
- Running
openssl version
returnsOpenSSL 1.0.0g 18 Jan 2012
- I removed Ruby 1.9.3 from RVM and tried Luciano's method below which didn't work.
- I've also tried reinstalling 1.9.3 from RVM and specifying
--with-openssl-dir=/opt/local
sincewhich openssl
returns/opt/local/bin/openssl
- I've reinstalled RVM (It's now version 1.10.2 in
/Users/pawel/.rvm/bin/rvm
) - I've upgraded to Ruby 1.9.3-p125 and have also tried on 1.9.2
- I've followed the instructions here: http://www.christopherirish.com/2011/09/02/ruby-1-9-2-segmentation-fault-and-openssl/ (which are my above steps, actually). I've also read Christopher's previous post here.
In my project directory when I run the following then I get the expected
0
.:
ruby -rubygems -e" require 'eventmachine'; require 'openssl' "; echo $?
关于其他我可以尝试的东西或我错过的事情,我需要更多的想法.
I need some more ideas on what else I can try, or things I've missed.
推荐答案
问题似乎是Homebrew和MacPorts发生冲突,因此我删除了MacPorts,删除了所有软件包和/opt/local/
目录.由于Homebrew上的PostgreSQL安装,这导致 PG gem出现了一些问题.
The problem seemed to be that Homebrew and MacPorts were conflicting, so I deleted MacPorts, removed all packages and the /opt/local/
directory. This caused some issue with the PG gem due to the PostgreSQL installation on Homebrew.
所以我删除了Postgres公式,然后重新安装它,并使用Homebrew同样安装了OpenSSL.
So I deleted the Postgres formula, then reinstalled it and ditto for the OpenSSL installation using Homebrew.
此后,我对RVM进行了内爆处理,然后再次安装了RVM和我的红宝石(不确定是否需要执行此步骤),然后终于可以了.
After that I imploded RVM and installed it and my Rubies again (not sure if this step was necessary) and finally it works.
这篇关于全新安装后持久性Ruby segfaulting的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!