Ruby on Rails Ubuntu 12.04 上的分段错误


$ rails new rails_example

run  bundle install
/usr/lib/ruby/1.8/openssl/buffering.rb:238: [BUG] Segmentation fault
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
Aborted (core dumped)
Fetching gem metadata from https://rubygems.org/.........

应该跟踪我尝试过的事情。最近的是:

gem install bundler
gem pristine --all

Ubuntu 12.04, ruby 1.8.7, rails 3.2.4.rc1

任何帮助将不胜感激:)

没有太多要做的事情,但希望你正在使用一个 ruby 管理器(RVM 或带有 ruby-build 的 rbenv)来安装 rubies,而不是通过 apt-get。 将 Rails 3.2 与 Ruby 1.8.7 一起使用根本不是一个好主意。

我整理了一份在 Ubuntu 12.04 上构建 Rails 开发设置的步骤清单。 使用 rbenv,我同时安装了 ruby 1.8.7、1.9.2 和 1.9.3,并运行 Rails。 您可以同样使用 RVM - 您的选择。 也许这可以帮助你澄清一些事情。 请务必查看"安装公共库"部分...也许你在那里错过了一些东西。

https://gist.github.com/2706272

我建议以下步骤:

  1. 检查实际执行的 ruby 和 gem 二进制文件的版本:

    $ which ruby
    /usr/bin/ruby
    $ which gem
    /usr/bin/gem
    
  2. 通常这些是指向实际可执行文件的链接。要检查链接的可执行文件,请执行以下操作:

    $ ls -o /usr/bin/gem
    lrwxrwxrwx 1 root 21 Dec 11 10:14 /usr/bin/gem -> /etc/alternatives/gem
    $ ls -o /etc/alternatives/gem
    lrwxrwxrwx 1 root 17 Dec 11 11:38 /etc/alternatives/gem -> /usr/bin/gem1.9.3
    $ ls -o /usr/bin/gem1.9.3
    lrwxrwxrwx 1 root 8 Nov 27 02:48 /usr/bin/gem1.9.3 -> gem1.9.1
    $ ls -o /usr/bin/gem1.9.1
    -rwxr-xr-x 1 root 547 Nov 27 02:50 /usr/bin/gem1.9.1
    

    在这种情况下,实际执行的二进制文件是/usr/bin/gem1.9.1,它是绿色的(在我的屏幕上)。对红宝石做同样的事情

  3. 如果您没有看到上述配置,请使用 ln (link) 实用程序将/etc/alternatives/gem 链接到/usr/bin/gem1.9.3。请参阅 ln 实用程序的手册页。

干杯

最新更新