Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Heroku:推送拒绝 – 无法通过bundler安装gem大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图以与我一直相同的方式将应用程序推送到Heroku.我正在使用 Ruby 1.9.2和Rails 3.2.1.但是,现在我收到此错误消息.我做了它的建议 @H_652_2@make sure that `gem install sqlite3 -v '1.3.5'` succeeds before bundling.

注意,即使我在我的gemfile中也这样做了

group :development,:test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end

但是在终端上做gem安装sqlite3 -v’1.3.5′,但推送仍然被拒绝.我不知道如何检查它在tmp目录中引用的Gem文件,但即使我这样做,我也不理解它们

有什么建议?

Gem files will remain installed in /tmp/build_1timyd7o5k59l/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.5 for inspection.
       Results logged to /tmp/build_1timyd7o5k59l/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out
       An error occurred while installing sqlite3 (1.3.5),and Bundler cAnnot conTinue.
       Make sure that `gem install sqlite3 -v '1.3.5'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected,failed to compile Ruby/rails app

解决方法

我总是只注释掉sqlite3的gem,它对我很有用,所以当我推送到heroku时,我的gemfile看起来像这样
# Development Database
#gem 'sqlite3'
# Production Database
gem 'pg'

编辑:

上述解决方案有效,如果您不想因任何原因更新您的宝石,这很容易.解决此问题的更好的长期解决方案是执行以下操作:

group :development,:test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end

然后删除你的gemfile.lock文件.
您需要生成一个反映您的更改的新gemfile.lock文件.在终端运行中:

bundle update

最后,通过在终端中执行以下操作来更新存储库并推送到heroku:

git add .
git commit -m "commit message"
git push heroku

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Heroku:推送拒绝 – 无法通过bundler安装gem全部内容,希望文章能够帮你解决ruby-on-rails – Heroku:推送拒绝 – 无法通过bundler安装gem所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。