elm*_*any 2 ruby-on-rails heroku ruby-on-rails-3
我正在关注在线铁路教程
一切都很好但是在尝试将主目录推送到heroku时.当它出现时:
Installing rails3_serve_static_assets... done
-----> Gemfile detected, running Bundler version 1.0.0
install everything but sqlite3, here it output:
Installing sqlite3 (0.1.1) /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:164:in `install': sqlite3 requires Ruby version >= 1.9.1. (Gem::InstallError)
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb:100:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in `run'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in `run'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/cli.rb:217:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `send'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `run'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:in `dispatch'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in `start'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13
from /usr/ruby1.8.7/bin/bundle:19:in `load'
from /usr/ruby1.8.7/bin/bundle:19
FAILED:
! Heroku push rejected, failed to install gems via Bundler
Run Code Online (Sandbox Code Playgroud)
现在的问题是:我使用的是ruby 1.9.2,甚至没有安装1.8.7.当我列出我的本地宝石时,bundle有这两个版本:bundler(1.0.2,1.0.1)(我不知道为什么)所以似乎路径有些不好但我不知道如何解决这个问题.谢谢你的帮助.
Jac*_*ius 14
你走错了路 - Heroku不运行Sqlite,它运行PostgreSQL.部署应用程序时,它会为您创建一个新的database.yml文件.所以你不应该在你的gemfile中指定Sqlite - 你应该只为你的开发环境指定它.
像这样的东西:
group :production, :staging do
gem "pg"
end
group :development, :test do
gem "sqlite3-ruby", :require => "sqlite3"
end
Run Code Online (Sandbox Code Playgroud)
如果您想了解更多关于Heroku数据库的信息,请访问此处.我在这里问了一个类似的问题(并得到了答案).