1

虽然尝试部署一类项目的Heroku发生错误,我收到以下错误:Heroku的 - 而安装的sqlite3(1.3.7)

An error occurred while installing sqlite3 (1.3.7), and Bundler cannot continue. 
    Make sure that `gem install sqlite3 -v '1.3.7'` succeeds before bundling. 

    Failed to install gems via Bundler. 

    Detected sqlite3 gem which is not supported on Heroku. 
    https://devcenter.heroku.com/articles/sqlite3 


    Push rejected, failed to compile Ruby/Rails app 

做了一些调查,我发现sqlite3不运行后在Heroku上,我需要设置postresql代替,而在我的Gemfile指定开发/部署,像这样:

gem 'rails', '3.2.13' 

group :production, :staging do 
    gem "pg" 
end 

group :development, :test do 
    gem "sqlite3-ruby", :require => "sqlite3" 
end 

不过,我仍然得到同样的错误。我正在做一个学校项目,所以我这是我在Heroku的第一次尝试,我对Ruby on Rails也很新。任何帮助/想法将不胜感激。谢谢!

+0

提示:当你解决这个问题,你也许会得到与资产管道预编译的东西下一个错误。对于固定的是,简单的添加宝石“rails_12factor”,组:生产到您的Gemfile。 – Mattherick

回答

2

你是否在向Heroku推送正确的分支?确保您在主分支上,并确保您的更改已被提交。

$ git checkout master 
$ git add . 
$ git commit -m "Commit message." 
$ git push heroku master 
0

它看起来像你在正确的轨道上。你是否在本地运行bundle并将Gemfile和Gemfile.lock提交到你的git仓库?此外,你可以用sqlite3替换sqlite3-ruby(然后不需要)。

bundle install 
git add Gemfile 
git add Gemfile.lock 
git commit -m "Update database gem environments." 
git push heroku master