heroku db:推敲错了ruby

我正在使用OSX Mountain Lion并试图db:push。

$ ruby -v ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin12.0.0] $ bundle exec heroku db:push --confirm ancient-falls-9918 Loaded Taps v0.3.24 Auto-detected local database: mysql2://root@127.0.0.1/lottery_portal_development?encoding=utf8 Warning: Data in the app 'ancient-falls-9918' will be overwritten and will not be recoverable. /Users/psmy/.rvm/gems/ruby-1.9.2-p320@lpr31/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle: [BUG] Segmentation fault ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] Abort trap: 6 

为什么要尝试使用1.8.7?

 $ rvm list rvm rubies ree-1.8.7-2011.03 [ i686 ] =* ruby-1.9.2-p320 [ x86_64 ] ruby-1.9.3-p194 [ x86_64 ] 

我已经在项目和全球级别卸载并重新安装了heroku和tap。 我删除了ruby的内置版本的任何痕迹(我认为)。

免责声明:这可能会或可能不会破坏内容。 这就是我为解决这个问题而采取的措施。

尝试此解决方案。

卸载RVM:

 rvm implode sudo rm -r ~/.rvm 

安装rbenv

 brew update brew install rbenv brew install ruby-build rbenv install 1.9.3-p194 rbenv global 1.9.3-p194 

将其添加到〜/ .bash_profile或〜/ .zshrc中

 eval "$(rbenv init -)" 

安装捆绑器

 sudo gem install bundler 

安装gem

 bundle install 

重新安装Heroku Toolbelt

关闭所有终端窗口并重新打开它们。 我做了所有这些和db:拉再次工作。

因为您尝试使用bundle exec heroku 。 只使用heroku ,应该修复它。

如果要将Heroku CLI使用的Ruby设置为您使用RVM指定的Ruby,请参阅我的答案: https : //stackoverflow.com/a/28632883/380607