0

我使用最新的 rvm,最新的 ruby​​,并且在运行各种处理数据库的事情时,我得到了 mysql2 和 sqlite3 的随机段错误。

#Ruby Version
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0]

#Ruby Location
$ which ruby
/Users/mikedevita/.rvm/rubies/ruby-1.9.3-p194/bin/ruby

#RVM Version
-> rvm -v
rvm 1.15.8 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

我尝试删除我的 gemset,然后重新安装它们,但我仍然遇到与此类似的错误(这是我的最后一个):

➜ rails g devise:install
/Users/mikedevita/.rvm/gems/ruby-1.9.3-p194@callcenter/gems/sqlite3-1.3.6/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

我刚刚注意到,它从正确的 rvm 位置运行,但它在它下面显示 ruby​​ 1.8.7?

我正在使用 zsh & oh-my-zsh .. 所以这是我的 .zshrc 的一部分,与我的 PATH 设置有关:

# Customize to your needs...
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin

# Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
# Load RVM function
PATH=$PATH:$HOME/.rvm/bin

#MySQL
PATH=$PATH:"/usr/local/Cellar/mysql/5.5.25a/bin"

更新 1

现在我收到带有 sqlite3 的更大的 seg 错误消息 https://gist.github.com/5717423dbc37286761e1

4

1 回答 1

2

有两种可能性:

  1. 你没有使用红宝石:

    rvm use 1.9.3@callcenter
    
  2. 您使用 clang 构建 ruby​​ - 这会产生[BUG] Segmentation fault错误。

使用 gnu 中的 gcc-4.2 重新编译您的 ruby​​(请阅读rvm requirements说明):

rvm reinstall 1.9.3
rvm 1.9.3@gloabal,1.9.3,1.9.3@callcenter do rvm gemset pristine
于 2012-08-29T19:57:21.027 回答