1

我正在使用 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 和水龙头。我已经删除了 ruby​​ 内置版本的任何痕迹(我认为)。

4

2 回答 2

0

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

试试这个解决方案。

卸载 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 又开始工作了。

于 2012-08-28T02:40:36.237 回答
0

因为您尝试使用bundle exec heroku. 改为使用heroku,应该可以解决它。

如果您想将 Heroku CLI 使用的 Ruby 设置为您使用 RVM 指定的 Ruby,请在此处查看我的答案:https ://stackoverflow.com/a/28632883/380607

于 2015-02-20T16:49:47.813 回答