Heroku 正在尝试安装 sqlite3 gem,即使它不在 Gemfile 中

发布于 2024-12-10 12:05:29 字数 3676 浏览 1 评论 0 原文

我第一次尝试在 Heroku 上部署 Rails 3.1 应用程序。我将其设置为 Cedar 堆栈,删除了 sqlite3 gem,但是当我将代码推送到 Heroku 时,出现此错误:

----->使用 Bundler 版本 1.1.rc 安装依赖项 运行:bundle install --withoutdevelopment:test --pathvendor/bundle--deployment 从 http://rubygems.org/ 获取 gem 元数据....... (...)

安装导轨 (3.1.0) 安装带有本机扩展的 sqlite3 (1.3.4) 不幸的是,发生了致命错误。请将此错误报告给 Bundler 问题跟踪器位于 https://github.com/carlhuda/bundler/issues 以便我们修复它。 谢谢! /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `build_extensions 中的块中的救援':错误:无法构建 gem 本机 扩大。 (宝石::安装程序::扩展构建错误) /usr/local/bin/ruby extconf.rb 检查 sqlite3.h...否

我不知道为什么捆绑安装试图安装 sqlite3。看看我的 Gemfile 和 Gemfile.lock:

Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.0'

gem 'json'
gem 'pg'
gem 'thin'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
#  gem 'sass-rails', "  ~> 3.1.0"
#  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

Gemfile.lock

GEM   remote: http://rubygems.org/   specs:
    actionmailer (3.1.0)
      actionpack (= 3.1.0)
      mail (~> 2.3.0)
    actionpack (3.1.0)
      activemodel (= 3.1.0)
      activesupport (= 3.1.0)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.2)
      rack-cache (~> 1.0.3)
      rack-mount (~> 0.8.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.0.0)
    activemodel (3.1.0)
      activesupport (= 3.1.0)
      bcrypt-ruby (~> 3.0.0)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.0)
      activemodel (= 3.1.0)
      activesupport (= 3.1.0)
      arel (~> 2.2.1)
      tzinfo (~> 0.3.29)
    activeresource (3.1.0)
      activemodel (= 3.1.0)
      activesupport (= 3.1.0)
    activesupport (3.1.0)
      multi_json (~> 1.0)
    arel (2.2.1)
    bcrypt-ruby (3.0.1)
    builder (3.0.0)
    daemons (1.1.4)
    erubis (2.7.0)
    eventmachine (0.12.10)
    execjs (1.2.9)
      multi_json (~> 1.0)
    hike (1.2.1)
    i18n (0.6.0)
    jquery-rails (1.0.14)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.6.1)
    mail (2.3.0)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.16)
    multi_json (1.0.3)
    pg (0.11.0)
    polyglot (0.3.2)
    rack (1.3.3)
    rack-cache (1.0.3)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.0)
      actionmailer (= 3.1.0)
      actionpack (= 3.1.0)
      activerecord (= 3.1.0)
      activeresource (= 3.1.0)
      activesupport (= 3.1.0)
      bundler (~> 1.0)
      railties (= 3.1.0)
    railties (3.1.0)
      actionpack (= 3.1.0)
      activesupport (= 3.1.0)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2)
    rdoc (3.9.4)
    sprockets (2.0.0)
      hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    thin (1.2.11)
      daemons (>= 1.0.9)
      eventmachine (>= 0.12.6)
      rack (>= 1.0.0)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    tzinfo (0.3.29)
    uglifier (1.0.3)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)

PLATFORMS   ruby

DEPENDENCIES   jquery-rails   json   pg   rails (= 3.1.0)   thin   uglifier

我该如何修复它?

I'm trying to deploy a Rails 3.1 application for the first time on Heroku. I set it to the Cedar stack, removed the sqlite3 gem but when I push the code to Heroku I get this error:

-----> Installing dependencies using Bundler version 1.1.rc
Running: bundle install --without development:test --path vendor/bundle --deployment
Fetching gem metadata from http://rubygems.org/....... (...)

Installing rails (3.1.0)
Installing sqlite3 (1.3.4) 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

I've no idea why bundle install is trying to install sqlite3. Take a look at my Gemfile and Gemfile.lock:

Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.0'

gem 'json'
gem 'pg'
gem 'thin'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
#  gem 'sass-rails', "  ~> 3.1.0"
#  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

Gemfile.lock

GEM   remote: http://rubygems.org/   specs:
    actionmailer (3.1.0)
      actionpack (= 3.1.0)
      mail (~> 2.3.0)
    actionpack (3.1.0)
      activemodel (= 3.1.0)
      activesupport (= 3.1.0)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.2)
      rack-cache (~> 1.0.3)
      rack-mount (~> 0.8.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.0.0)
    activemodel (3.1.0)
      activesupport (= 3.1.0)
      bcrypt-ruby (~> 3.0.0)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.0)
      activemodel (= 3.1.0)
      activesupport (= 3.1.0)
      arel (~> 2.2.1)
      tzinfo (~> 0.3.29)
    activeresource (3.1.0)
      activemodel (= 3.1.0)
      activesupport (= 3.1.0)
    activesupport (3.1.0)
      multi_json (~> 1.0)
    arel (2.2.1)
    bcrypt-ruby (3.0.1)
    builder (3.0.0)
    daemons (1.1.4)
    erubis (2.7.0)
    eventmachine (0.12.10)
    execjs (1.2.9)
      multi_json (~> 1.0)
    hike (1.2.1)
    i18n (0.6.0)
    jquery-rails (1.0.14)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.6.1)
    mail (2.3.0)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.16)
    multi_json (1.0.3)
    pg (0.11.0)
    polyglot (0.3.2)
    rack (1.3.3)
    rack-cache (1.0.3)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.0)
      actionmailer (= 3.1.0)
      actionpack (= 3.1.0)
      activerecord (= 3.1.0)
      activeresource (= 3.1.0)
      activesupport (= 3.1.0)
      bundler (~> 1.0)
      railties (= 3.1.0)
    railties (3.1.0)
      actionpack (= 3.1.0)
      activesupport (= 3.1.0)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2)
    rdoc (3.9.4)
    sprockets (2.0.0)
      hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    thin (1.2.11)
      daemons (>= 1.0.9)
      eventmachine (>= 0.12.6)
      rack (>= 1.0.0)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    tzinfo (0.3.29)
    uglifier (1.0.3)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)

PLATFORMS   ruby

DEPENDENCIES   jquery-rails   json   pg   rails (= 3.1.0)   thin   uglifier

How can I fix it?

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

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

发布评论

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

评论(4

嗳卜坏 2024-12-17 12:05:29

当我遇到问题时,结果发现我忘记在捆绑安装后提交更改。哎哟! git status 应指示 gem 文件的未暂存更改。

When I ran into the problem, turns out I'd forgotten to commit my changes after bundle install. Doh! git status should indicate unstaged changes for the gem files.

溺孤伤于心 2024-12-17 12:05:29

我有同样的问题,zoltarSpeaks 的解决方案为我解决了这个问题。在阅读这篇文章后,我安装了 Taps gem,该文章表明有必要从本地 sqlite3 推送到生产 postgresql: http://batsov.com/articles/2011/10/30/deploying-rails31-apps-on-celadon-cedar/。结果我根本不需要水龙头宝石,但这显然是问题所在。删除了参考,捆绑更新,所有系统都正常。

I has the same problem and zoltarSpeaks' solution fixed it for me. I had the taps gem installed after reading this article that indicated it would be necessary for pushing from a local sqlite3 to production postgresql: http://batsov.com/articles/2011/10/30/deploying-rails31-apps-on-celadon-cedar/. Turned out I didn't need the taps gem after all, but it was clearly the problem. Removed the reference, bundle update, all systems go.

罗罗贝儿 2024-12-17 12:05:29

尝试删除 Gemfile.lock 并运行 Bundle Install、提交和推送

try deleting Gemfile.lock and run Bundle Install, commit and push

纸短情长 2024-12-17 12:05:29

无需为 Heroku 卸载 sqlite3 gem 的简单解决方案:

添加到 Gemfile:

group :production do
gem 'pg', '0.17.1' #or version of pg you want
gem 'rails_12factor', '0.0.2' #Heroku static assets for image and css

检查您是否有:

end 
end

在 Gemfile 中的代码末尾

,保存 Gemfile 并运行捆绑安装,

$ bundle install --without production

提交

$ git commit -a -m "Update Gemfile.lock for Heroku"

然后

$ git push heroku master

就这样。您只会收到一些警告,只需修复即可。

Simple solution without uninstalling sqlite3 gem for Heroku:

Add to Gemfile:

group :production do
gem 'pg', '0.17.1' #or version of pg you want
gem 'rails_12factor', '0.0.2' #Heroku static assets for image and css

Check, that you have:

end 
end

at the end of code in Gemfile

than Save Gemfile and run bundle install

$ bundle install --without production

than commit

$ git commit -a -m "Update Gemfile.lock for Heroku"

than

$ git push heroku master

That is all. You will get only a few warnings which is simply to fix.

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