2012-08-25 74 views
1

我使用OSX Mountain Lion并尝试db:push。heroku db:推动错误的红宝石

$ 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://[email protected]/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/[email protected]/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,并在项目和全球层面都水龙头。我已经删除了内置版本的红宝石(我认为)的任何痕迹。

+0

你找到这个答案? – Tony

+0

@Tony是的,看我的答案:http://stackoverflow.com/a/28634088/380607 – Magne

回答

0

声明:这可能会或可能不会破坏的东西。这是我为解决问题所做的。

试试这个solution.

卸载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 

安装宝石

bundle install 

重新安装Heroku Toolbelt

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

+0

但是...如果我想rvm? – phil

+0

这是我现在可以找到的唯一解决方案。祝你好运。 – mike