无法推送应用程序 Heroku - 无法通过 Bundler 安装 gem

发布于 2024-12-28 18:01:30 字数 7903 浏览 2 评论 0原文

这是我的 Gemfile 的样子:

source 'http://rubygems.org'

gem 'rails', '3.1.2'

#gem 'sqlite3'
gem 'mysql2'
gem "rvm", "~> 1.9.2"
gem 'authlogic'
gem "taps", "~> 0.3.23"
gem "paperclip", "~> 2.4.5"
gem 'aws-s3'
gem 'actionmailer'

gem 'will_paginate'

group :assets do
  gem 'sass-rails',   '~> 3.1.5.rc.2'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

group :production do
  gem 'therubyracer-heroku', '~> 0.8.1.pre3'
  gem 'pg'
end

gem 'jquery-rails'

这是将应用程序推送到 Heroku 的输出:

Counting objects: 307, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (291/291), done.
Writing objects: 100% (307/307), 491.60 KiB | 47 KiB/s, done.
Total 307 (delta 43), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.rc.7
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
       Fetching gem metadata from http://rubygems.org/.......
       Installing rake (0.9.2.2)
       Installing multi_json (1.0.4)
       Installing activesupport (3.1.2)
       Installing builder (3.0.0)
       Installing i18n (0.6.0)
       Installing activemodel (3.1.2)
       Installing erubis (2.7.0)
       Installing rack (1.3.6)
       Installing rack-cache (1.1)
       Installing rack-mount (0.8.3)
       Installing rack-test (0.6.1)
       Installing hike (1.2.1)
       Installing tilt (1.3.3)
       Installing sprockets (2.1.2)
       Installing actionpack (3.1.2)
       Installing mime-types (1.17.2)
       Installing polyglot (0.3.3)
       Installing treetop (1.4.10)
       Installing mail (2.3.0)
       Installing actionmailer (3.1.2)
       Installing arel (2.2.1)
       Installing tzinfo (0.3.31)
       Installing activerecord (3.1.2)
       Installing activeresource (3.1.2)
       Installing authlogic (3.1.0)
       Installing xml-simple (1.1.1)
       Installing aws-s3 (0.6.2)
       Installing cocaine (0.2.1)
       Installing coffee-script-source (1.2.0)
       Installing execjs (1.3.0)
       Installing coffee-script (2.2.0)
       Installing rack-ssl (1.3.2)
       Installing json (1.6.5) with native extensions
       Installing rdoc (3.12)
       Installing thor (0.14.6)
       Installing railties (3.1.2)
       Installing coffee-rails (3.1.1)
       Installing jquery-rails (1.0.19)
       Installing mysql2 (0.3.11) with native extensions
       Installing paperclip (2.4.5)
       Installing pg (0.12.2) with native extensions
       Using bundler (1.1.rc.7)
       Installing rails (3.1.2)
       Installing rest-client (1.6.7)
       Installing rvm (1.9.2)
       Installing sass (3.1.12)
       Installing sass-rails (3.1.5)
       Installing sequel (3.20.0)
       Installing sinatra (1.0)
       Installing sqlite3 (1.3.5) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
       /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
       /usr/local/bin/ruby extconf.rb
       checking for sqlite3.h... no
       sqlite3.h is missing. Try 'port install sqlite3 +universal'
       or 'yum install sqlite-devel' and check your shared library search path (the
       location where your sqlite3 shared library is located).
       *** extconf.rb failed ***
       Could not create Makefile due to some reason, probably lack of
       necessary libraries and/or headers.  Check the mkmf.log file for more
       details.  You may need configuration options.
       Provided configuration options:
       --with-opt-dir
       --without-opt-dir
       --with-opt-include
       --without-opt-include=${opt-dir}/include
       --with-opt-lib
       --without-opt-lib=${opt-dir}/lib
       --with-make-prog
       --without-make-prog
       --srcdir=.
       --curdir
       --ruby=/usr/local/bin/ruby
       --with-sqlite3-dir
       --without-sqlite3-dir
       --with-sqlite3-include
       --without-sqlite3-include=${sqlite3-dir}/include
       --with-sqlite3-lib
       --without-sqlite3-lib=${sqlite3-dir}/lib
       --enable-local
       --disable-local
       Gem files will remain installed in /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.5 for inspection.
       Results logged to /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each'
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions'
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/source.rb:90:in `block in install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/rubygems_integration.rb:82:in `preserve_paths'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/source.rb:89:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:73:in `block in install_gem_from_spec'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/rubygems_integration.rb:97:in `with_build_args'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:72:in `install_gem_from_spec'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:56:in `block in run'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:55:in `run'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:12:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/cli.rb:220:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/task.rb:22:in `run'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor.rb:263:in `dispatch'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/base.rb:386:in `start'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/bin/bundle:13:in `<top (required)>'
       from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `load'
       from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `<main>'
 !
 !     Failed to install gems via Bundler.
 !     
 !     Detected sqlite3 gem which is not supported on Heroku.
 !     http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

To [email protected]:_my_repo_.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:_my_repo_.git'

出了什么问题?我在我的其他应用程序中进行了相同的设置,并且工作正常...我将非常感谢每一个帮助,整个下午都在努力解决这个问题...

编辑:我还尝试删除存储库并创建一个新的,但还是一样。

This is how looks my Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.1.2'

#gem 'sqlite3'
gem 'mysql2'
gem "rvm", "~> 1.9.2"
gem 'authlogic'
gem "taps", "~> 0.3.23"
gem "paperclip", "~> 2.4.5"
gem 'aws-s3'
gem 'actionmailer'

gem 'will_paginate'

group :assets do
  gem 'sass-rails',   '~> 3.1.5.rc.2'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

group :production do
  gem 'therubyracer-heroku', '~> 0.8.1.pre3'
  gem 'pg'
end

gem 'jquery-rails'

and this is the output from pushing the app to Heroku:

Counting objects: 307, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (291/291), done.
Writing objects: 100% (307/307), 491.60 KiB | 47 KiB/s, done.
Total 307 (delta 43), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.rc.7
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
       Fetching gem metadata from http://rubygems.org/.......
       Installing rake (0.9.2.2)
       Installing multi_json (1.0.4)
       Installing activesupport (3.1.2)
       Installing builder (3.0.0)
       Installing i18n (0.6.0)
       Installing activemodel (3.1.2)
       Installing erubis (2.7.0)
       Installing rack (1.3.6)
       Installing rack-cache (1.1)
       Installing rack-mount (0.8.3)
       Installing rack-test (0.6.1)
       Installing hike (1.2.1)
       Installing tilt (1.3.3)
       Installing sprockets (2.1.2)
       Installing actionpack (3.1.2)
       Installing mime-types (1.17.2)
       Installing polyglot (0.3.3)
       Installing treetop (1.4.10)
       Installing mail (2.3.0)
       Installing actionmailer (3.1.2)
       Installing arel (2.2.1)
       Installing tzinfo (0.3.31)
       Installing activerecord (3.1.2)
       Installing activeresource (3.1.2)
       Installing authlogic (3.1.0)
       Installing xml-simple (1.1.1)
       Installing aws-s3 (0.6.2)
       Installing cocaine (0.2.1)
       Installing coffee-script-source (1.2.0)
       Installing execjs (1.3.0)
       Installing coffee-script (2.2.0)
       Installing rack-ssl (1.3.2)
       Installing json (1.6.5) with native extensions
       Installing rdoc (3.12)
       Installing thor (0.14.6)
       Installing railties (3.1.2)
       Installing coffee-rails (3.1.1)
       Installing jquery-rails (1.0.19)
       Installing mysql2 (0.3.11) with native extensions
       Installing paperclip (2.4.5)
       Installing pg (0.12.2) with native extensions
       Using bundler (1.1.rc.7)
       Installing rails (3.1.2)
       Installing rest-client (1.6.7)
       Installing rvm (1.9.2)
       Installing sass (3.1.12)
       Installing sass-rails (3.1.5)
       Installing sequel (3.20.0)
       Installing sinatra (1.0)
       Installing sqlite3 (1.3.5) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
       /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
       /usr/local/bin/ruby extconf.rb
       checking for sqlite3.h... no
       sqlite3.h is missing. Try 'port install sqlite3 +universal'
       or 'yum install sqlite-devel' and check your shared library search path (the
       location where your sqlite3 shared library is located).
       *** extconf.rb failed ***
       Could not create Makefile due to some reason, probably lack of
       necessary libraries and/or headers.  Check the mkmf.log file for more
       details.  You may need configuration options.
       Provided configuration options:
       --with-opt-dir
       --without-opt-dir
       --with-opt-include
       --without-opt-include=${opt-dir}/include
       --with-opt-lib
       --without-opt-lib=${opt-dir}/lib
       --with-make-prog
       --without-make-prog
       --srcdir=.
       --curdir
       --ruby=/usr/local/bin/ruby
       --with-sqlite3-dir
       --without-sqlite3-dir
       --with-sqlite3-include
       --without-sqlite3-include=${sqlite3-dir}/include
       --with-sqlite3-lib
       --without-sqlite3-lib=${sqlite3-dir}/lib
       --enable-local
       --disable-local
       Gem files will remain installed in /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.5 for inspection.
       Results logged to /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each'
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions'
       from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/source.rb:90:in `block in install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/rubygems_integration.rb:82:in `preserve_paths'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/source.rb:89:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:73:in `block in install_gem_from_spec'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/rubygems_integration.rb:97:in `with_build_args'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:72:in `install_gem_from_spec'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:56:in `block in run'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:55:in `run'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:12:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/cli.rb:220:in `install'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/task.rb:22:in `run'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor.rb:263:in `dispatch'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/base.rb:386:in `start'
       from /tmp/build_14aejbvbx900f/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/bin/bundle:13:in `<top (required)>'
       from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `load'
       from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `<main>'
 !
 !     Failed to install gems via Bundler.
 !     
 !     Detected sqlite3 gem which is not supported on Heroku.
 !     http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

To [email protected]:_my_repo_.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:_my_repo_.git'

What is wrong? I have the same set up in my else app and it works fine... I will much grateful for every help, struggling with this problem whole afternoon...

EDIT: Also I tried remove repository and create a new one, but still the same.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

∞觅青森が 2025-01-04 18:01:30

只需将您的 sqlite3 放在 Gemfile 中的 text/development 组下,同时在生产 gemfile 组中添加 thinpg 即可:

  1. 编辑 Gemfile 如下以下:

    gem 'sqlite3', :group =>; [:开发,:测试]
    组别:生产做
      宝石“薄”
      宝石'pg'
    结尾
    
  2. 删除 Gemfile.lock

  3. 运行 bundle install --without production
  4. git add .
  5. git commit -am "bundle update sqlite3"
  6. git push heroku +master代码>

Just put your sqlite3 under text/development group in Gemfile, adding thin and pg in production gemfile group also:

  1. edit the Gemfile like following:

    gem 'sqlite3', :group => [:development, :test]
    group :production do
      gem 'thin'
      gem 'pg'
    end
    
  2. remove Gemfile.lock

  3. run bundle install --without production
  4. git add .
  5. git commit -am "bundle updating sqlite3"
  6. git push heroku +master
陈甜 2025-01-04 18:01:30

因此,在与 Heroku 支持者进行了一番交谈之后,“问题”出现在 taps gem 中 - sqlite3 与它有关联。工作解决方案是:

group :development do
  gem 'taps'
  gem 'rvm'
end

So, after a little talk with Heroku suporters, the "problem" was in taps gem - sqlite3 has an association to it. The working solution is:

group :development do
  gem 'taps'
  gem 'rvm'
end
夏日落 2025-01-04 18:01:30

请不要忘记

git add .
git commint -m"ufff"

如果您更改 Gemfile ,

git push heroku master

If you change Gemfile DO NOT forget

git add .
git commint -m"ufff"

then

git push heroku master
你好,陌生人 2025-01-04 18:01:30

您是否已将 Gemfile 添加到工作副本并将其提交到本地存储库?也许您正在推送旧版本的 Gemfile 和 Gemfile.lock?

Have you added Gemfile to working copy and committed it to your local repository? Maybe you are pushing old version of Gemfile and Gemfile.lock?

你没皮卡萌 2025-01-04 18:01:30

在 Gemfile 中,将“gem sqlite3”替换为以下内容:

group :development do
gem 'sqlite3'
end
gem 'pg'

In Gemfile replace 'gem sqlite3' with the next:

group :development do
gem 'sqlite3'
end
gem 'pg'
梦醒灬来后我 2025-01-04 18:01:30

您需要在项目文件夹中的命令行中执行bundle

这将更新您的 Gemfile.lock 文件 - 您需要提交此文件和 Gemfile,然后重新推送到 Heroku。

You need to do bundle at the command line in your project folder.

This will update your Gemfile.lock file - you need to commit both this and Gemfile and then repush to Heroku.

吻泪 2025-01-04 18:01:30

我对宝石“mailcatcher”有一个稍微独特的情况。

我为所有环境安装了 gem,但我意识到它的依赖项之一是 sqlite3。我将 mailcatcher gem 移至开发组,它解决了我的问题。

I had a slightly unique situation with the gem 'mailcatcher'.

I had the gem installed for all environments, but i realized that one of its dependencies is sqlite3. I moved the mailcatcher gem to the development group and it fixed my problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文