【问题标题】:heroku push rejected, failed to compile Ruby/rails appheroku push 被拒绝,无法编译 Ruby/rails 应用程序
【发布时间】:2013-03-22 03:56:57
【问题描述】:

遇到以下问题,对 RoR 来说是全新的,第一次尝试上传应用程序以上线,首先遇到托管问题,然后决定是否可以使用 heroku 修复它们,我只会使用带有 heroku 的自定义域.. .... 不,这不是一个测试应用程序“学习轨道”的东西,我想部署以在我拥有的企业中使用的实际应用程序,任何帮助都会很棒,我已经搜索并没有看到解决这个问题的方法。

在捆绑之前确保“gem install sqlite3 -v 1.3.7”成功。

Failed to install gems via Bundler

Heroku push rejected, failed to compile Ruby/rails app

To git@heroku.com:peaceful-chamber-6371.git
[remote rejected] master -> master <pre-receive hook declined>
error: failed to push some refs to 'git@heroku.com:peaceful-chamber-6371.git

宝石文件

source 'https://rubygems.org'

gem 'rails', '3.2.12'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
gem 'sqlite3'
end
group :production do
  gem 'pg'
end


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

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
  gem 'twitter-bootstrap-rails'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

【问题讨论】:

标签: ruby-on-rails heroku


【解决方案1】:

试试这个,

删除 Gemfile.lock 文件并执行 bundle install ,然后执行 git addgit commitgit push

【讨论】:

  • 很不错,所以有效...但是现在我正在寻找的页面不存在,因为它应该被“部署”到...有什么问题?
  • 旁注:它会在“不存在的页面”上显示我的自定义网站图标如果这很重要,那就是我的路线......它非常基本,因为这只是一个页面,“来自展会的日志/节日/家庭表演等活动,而不是使用草稿纸”不确定我是否真的需要将其编译成更详细的东西,比如我仍在研究的其他一些应用程序,这些应用程序更深入。 BoothLeads::Application.routes.draw 做资源:leads
  • 对上述评论的任何额外帮助将不胜感激......这对我来说是全新的......更不用说所有“dynos”和heroku的任何设置......哈哈
  • 你迁移数据库了吗? heroku rake db:migrate
  • 它在本地工作吗?检查来自 heroku 的日志.. 如果它不能在本地运行,如果没有看到代码就无法对您的应用发表太多评论,请为此创建一个单独的问题。
【解决方案2】:

查看 Heroku 写入控制台的所有输出 - 您的错误很可能在某处。我遇到了这个,发现预编译步骤失败了。也可以在本地运行:

rake assets:precompile

【讨论】:

    【解决方案3】:

    Heroku 的资产插件不再工作,因为 Rails 4 不支持插件。您需要改用 Heroku 的资产宝石。把它放在你的 Gemfile 中:

    group :production do
      gem 'rails_12factor'
    end
    

    在这里找到答案:Heroku does NOT compile files under assets pipelines in Rails 4 为我工作

    【讨论】:

      【解决方案4】:

      我的问题是我的 bower 目录在 .gitignore 中被忽略了。

      所以我要么需要从我的 packages.json 安装 bower,要么检查我的 bower 目录。

      http://xseignard.github.io/2013/02/18/use-bower-with-heroku/

      我现在选择检查我的凉亭目录以获得快速解决方案。

      【讨论】:

        【解决方案5】:

        虽然这个问题有一个公认的答案,但答案并没有帮助我, 我有同样的问题。以下内容对我有用,因此做出了贡献。 Heroku 不支持 sqlite 3。在这种情况下,我的 gemfile 中有 sqlite3 gem,您应该将其放入开发组,并将 postgres gem(heroku 支持)放入生产组。

        1) 删除 gemfile.lock 文件(从您的项目文件夹中)

        2) 在 gemfile 中,删除 gem sqlite3 或类似的 sqlite3 gem

        3) 而不是在文件末尾添加以下内容:

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

        现在,在终端中运行以下命令:

        bundle install
        git add .
        git commit
        git push
        git push heroku master
        

        虽然这是一个愚蠢的错误,但我花了一些时间才意识到这一点。希望它可以帮助某人。

        【讨论】:

          【解决方案6】:

          Heroku 不喜欢 sqlite3,将gem 'sqlite3' 改为gem 'pg'

          【讨论】:

          • 您仍然可以使用 sqlite3 进行开发,前提是 Rack ENV 知道其中的区别,但是您需要 pg 进行 heroku 生产。
          猜你喜欢
          • 2014-06-07
          • 2017-01-17
          • 2019-10-25
          • 2013-05-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-27
          • 2014-02-08
          相关资源
          最近更新 更多