【问题标题】:Segmentation fault ruby 1.8.7 on db migrate in railsdb migrate in rails 上的分段错误 ruby​​ 1.8.7
【发布时间】:2012-12-17 13:50:23
【问题描述】:

关于这个命令RAILS_ENV=production bundle exec rake db:migrate

我收到此错误:

 [BUG] Segmentation fault
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

我想试试这个,但命令不会执行,因为它不知道什么是 rvm:

rvm gemset empty
rvm use 1.9.2@skateparks
gem install bundler
bundle install

【问题讨论】:

  • 还有什么输出?你检查过崩溃日志吗?
  • 很可能您的本地 gem 之一(例如数据库适配器?)可能已经过时了。在rake db:migrate 之前发出ulimit -c unlimited 然后在gdb (gdb ruby core.1234) 中打开核心并在gdb 中发出bt 以查看发生在哪个模块(也可能是哪个功能)中。你能如果崩溃发生在原生 gem 中,暂时切换到纯 ruby​​ gem?
  • 迁移是在哪里造成的?

标签: ruby-on-rails ruby linux ruby-on-rails-3 dbmigrate


【解决方案1】:

确保 RVM 确实有效,在您的 ~/.bash_profile 中应该是这样的:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

如果没有,安装它,基本上这个命令就够了:

$ \curl -L https://get.rvm.io | bash -s stable --ruby

您不应该在 root 帐户下安装 RVM,除非您知道自己在做什么。请参阅https://rvm.io/rvm/install/ 了解更多信息。

部署时使用capistrano 是个好主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-28
    • 2012-06-25
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多