由于sqlite,无法从Cloud9将rails代码推送到Heroku

时间:2015-04-27 14:26:03

标签: ruby-on-rails git heroku sqlite

An error occurred while installing sqlite3 (1.3.10), and Bundler cannot
remote:        continue.
remote:        Make sure that `gem install sqlite3 -v '1.3.10'` succeeds before bundling.
remote:  !
remote:  !     Failed to install gems via Bundler.
remote:  !     
remote:  !     Detected sqlite3 gem which is not supported on Heroku.
remote:  !     https://devcenter.heroku.com/articles/sqlite3
remote:  !
remote: 
remote:  !     Push rejected, failed to compile Ruby app
remote: 
remote: Verifying deploy...
remote: 
remote: !       Push rejected to stark-reaches-8517.
remote: 
To https://git.heroku.com/stark-reaches-8517.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com....

首先我安装了最新的sqlite3,但它没有帮助。然后我尝试从sqlite切换到postgresql,但它也没有成功(或者我只是错过了一些东西)。有人可以告诉我在捆绑之前gem文件应该是什么样的吗?顺便说一句。我正在尝试关注Michael Hartl的Rails教程,但它没有提到任何关于此的内容。

加了:

我在制作组中拥有rails_12factorpostgres宝石。 sqlite3位于开发组中,因此heroku不应尝试安装它。

2 个答案:

答案 0 :(得分:3)

当您使用postgresql时,您已使用以下行向您的应用添加了一个Procfile:

web: bundle exec thin start -p $PORT

我在我的gem文件中使用以下内容,以及部署到heroku的postgres

#User the 'thin' server instead of the default webrick
gem 'thin'

#Use postgres and the Heroku rails gem for Heroku
group :production do
gem 'rails_12factor'
end

另外,你有没有检查过heroku帮助中心?它略微跳了一下,但更详细地说明了对一个配置文件的定义 https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction

答案 1 :(得分:-3)

现在已经有一段时间了,但我曾经遇到过和你一样的错误:

git push origin master
To https://github.com/Answer_Bot-project/project.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/Answer_Bot-project/project.git'

我已经读到,由于不应该将他/她的分支推送到更新的远程分支,这可能会发生。

如果我没记错的话,一般的方法是使用类似的东西:

git fetch origin; git merge origin/master

或许请查看此链接以获取更多信息:code push to heroku not working