我是第一次从使用SQLite3的本地Rails环境部署到使用postgresql的Heroku。我已经更新了我的gemfile,使适当的开发/生产组子句。我确保在母版中包含了这些变化。但是,当我运行db时,我反复得到以下错误:
非常感谢您的帮助
prompt> C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/site_ruby/1.9.1/rubygems/custo
m_require.rb:36:in `require': LoadError: cannot load such file -- sqlite3 (Seque
l::AdapterNotFound)
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/site_ruby/1.9.1/r
ubygems/custom_require.rb:36:in `require'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/adapters/sqlite.rb:1:in `<top (required)>'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/site_ruby/1.9.1/r
ubygems/custom_require.rb:36:in `require'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/site_ruby/1.9.1/r
ubygems/custom_require.rb:36:in `require'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/core.rb:249:in `block in tsk_require'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/core.rb:72:in `block in check_requiring_thread'
from <internal:prelude>:10:in `synchronize'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/core.rb:69:in `check_requiring_thread'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/core.rb:249:in `tsk_require'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/database/connecting.rb:25:in `adapter_class'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/database/connecting.rb:54:in `connect'
from C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/s
equel-3.20.0/lib/sequel/core.rb:119:in `connect'
from C:/Program Files (x86)/Heroku/vendor/gems/taps-0.3.23/lib/taps/sche
ma.rb:17:in `dump_table'
from C:/Program Files (x86)/Heroku/vendor/gems/taps-0.3.23/bin/schema:32
:in `<main>'
要使heroku db:push
命令工作,您需要在Ruby Heroku包的版本中安装taps
和sqlite3
宝石。
从上面的回溯中,似乎安装了taps
,但缺少sqlite3
适配器。
要安装它,请尝试以下操作:
- 启动一个提升的命令提示符(这样你就可以毫无问题地写入
Program Files
) -
cd "C:Program Files (x86)Herokuruby-1.9.2bin"
目录。调用gem install sqlite3 --no-ri --no-rdoc
这应该安装丢失的gem并允许heroku db:push
与您的sqlite3数据库一起工作。
希望对你有帮助。