我正在尝试使用Heroku Taps,但在“gem install tap”之后,当我执行“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
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 ]
GEMS
gem list
...
heroku (1.17.10)
...
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3)
taps (0.3.15)
...
答案 0 :(得分:2)
好的,我想我解决了。我用RVM再次安装了ruby 1.8.7,这似乎可以解决问题。不确定为什么......
rvm install ruby-1.8.7-p302
答案 1 :(得分: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 for ruby 1.9和rails 2.3.8。发展。我使用'rvm system'和'rvm default'在ruby 1.8和1.9之间切换(我在rvm中设置了1.9.2作为我的默认值。
我注意到当我运行'rvm system'时,我得到以下内容:
$ 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)
希望这有帮助。