我知道这个问题发生在这里几次,但我尝试过的解决方案似乎没有人工作。我在将应用程序推送到Heroku时遇到了问题。所以我输入git push heroku master
并发生此错误:
remote: An error occurred while installing sqlite3 (1.3.11), and Bundler cannot
remote: continue.
remote: Make sure that `gem install sqlite3 -v '1.3.11'` 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 sleepy-atoll-4840.
remote:
To https://git.heroku.com/sleepy-atoll-4840.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/sleepy-atoll-4840.git'
这是我的Gemfile:
source 'https://rubygems.org'
gem 'rails', '4.2.4'
group :development do
gem 'sqlite3', '1.3.11'
end
gem 'sass-rails', '4.0.0.rc1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'pg', '0.18.1'
end
任何提示如何克服这一点?
答案 0 :(得分:0)
您需要将其保存到development
组或类似网站:
#Gemfile
gem "pg", group: :production
gem "sqlite3", group: :development
-
我已经看到你已经有了这个,你需要确保你的Gemfile.lock
设置正确。执行此操作的最佳方法是在开发环境中运行以下命令:
$ bundle install --without production
$ bundle update
$ git add .
$ git commit -a -m "Gem"
$ git push heroku master
答案 1 :(得分:0)
Heroku在生产中不支持sqlite3 ......
您需要从gem文件中删除 sqlite3 并添加以下内容。
从
gem 'sqlite3'
到的
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
重要提示:您必须运行
git add。 git commit
跑步前
git push heroku master