1

我正在尝试使用 Heroku Taps,但在“gem install taps”之后,当我执行“heroku db:pull”时仍然出现以下错误:

heroku db:pull

Taps Load Error: dlopen(/Users/yves/.rvm/gems/ruby-1.8.7-p302/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.bundle, 9): no suitable image found.  Did find:
    /Users/yves/.rvm/gems/ruby-1.8.7-p302/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.bundle: mach-o, but wrong architecture - /Users/yves/.rvm/gems/ruby-1.8.7-p302/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.bundle
You may need to install or update the taps gem to use db commands.

我的设置:

家酿

虚拟机

rvm list

rvm rubies

   jruby-1.5.1 [ x86_64-java ]
   ree-1.8.7-2010.02 [ i386 ]
   ruby-1.8.7-p160 [ i386 ]
=> ruby-1.8.7-p302 [ i386 ]
   ruby-head [ i386 ]

宝石

gem list

...
heroku (1.17.10)
...
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3)
taps (0.3.15)
...
4

2 回答 2

2

好吧,我想我解决了。我用 RVM 再次安装了 ruby​​ 1.8.7,这似乎可以解决问题。虽然不知道为什么...

rvm install ruby-1.8.7-p302
于 2011-01-29T22:32:11.133 回答
0

该错误消息表明 Heroku 包包含与 i386 架构不兼容的本机版本 sqlite gem。

尝试做一个gem update sqlite3 sqlite3-ruby

更新:在我的 Mac OS X Snow Leopard 机器上,我使用 rvm 来管理 ruby​​ 1.9.2 和 rails 3.0.3,但我使用系统安装的 ruby​​ 1.8.7 来管理 ruby​​ 1.9 和 rails 2.3.8。发展。我使用 'rvm system' 和 'rvm default' 在 ruby​​ 1.8 和 1.9 之间切换(我在 rvm.xml 中将 1.9.2 设置为我的默认值。

我注意到当我运行“rvm 系统”时,我得到以下信息:

$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
$ rails -v
Rails 2.3.8
$ gem list --local | grep taps
taps (0.3.15, 0.3.12, 0.3.10, 0.2.26, 0.2.25)
$ gem list --local | grep sqlite
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3, 1.3.1, 1.2.5, 1.2.4)

希望这可以帮助。

于 2011-01-29T09:23:52.297 回答