【问题标题】:Pushing Rails to Heroku fails because of sqlite3由于 sqlite3,将 Rails 推送到 Heroku 失败
【发布时间】:2014-07-16 18:24:45
【问题描述】:

我已经按照本教程在 Rails 中创建了我的博客:http://tutorials.jumpstartlab.com/projects/blogger.html

当我将我的应用程序部署到 Heroku 时,我不断收到阻止我部署的错误。我已经修复了我的 Gemfile,但我仍然遇到同样的错误。

这是终端给我的:

安装 sqlite3 (1.3.9) 时出错,Bundler 无法继续。 在捆绑之前确保gem install sqlite3 -v '1.3.9' 成功。 ! !无法通过 Bundler 安装 gem。 !
!检测到 Heroku 不支持的 sqlite3 gem。 ! ! Push 被拒绝,无法编译 Ruby 应用

这是我在 Gemfile 中修复的内容:

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

【问题讨论】:

    标签: ruby-on-rails heroku sqlite


    【解决方案1】:

    Heroku 建议使用 Postgresql 而不是 sqlite:https://devcenter.heroku.com/articles/sqlite3

    所以替换 gem 'sqlite3' 和 宝石'pg'。

    此外,请确保您在生产中使用 gem。您的示例仅在 :development 和 :test 中使用 sqlite gem。

    结果是:

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

    你也可以只在生产环境中使用 postgres:

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

    但是,最好在开发和生产中使用相同的数据库,以避免以后出现任何意外。

    【讨论】:

    • 我确实用 pg 替换了它,然后运行了“bundle install”。它给了我另一个错误:“安装 pg (0.17.1) 时发生错误,并且 Bundler 无法继续。在捆绑之前确保 gem install pg -v '0.17.1' 成功。”一旦我运行'gem install pg -v'0.17.1',它给了我这个错误:“错误:无法构建gem原生扩展”。
    • 你指的是你本地的开发环境还是你的开发环境?另外,您是否尝试过在运行bundle install 之前运行bundle update
    • 如果 postgres 一直无法在本地安装,你可以试试这个:stackoverflow.com/questions/24597159/…
    • 是的,我做到了。非常感谢。
    • 太棒了!你能接受我的回答对你有帮助吗?
    猜你喜欢
    • 2011-04-14
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多