【问题标题】:push rails app to heroku将 rails 应用程序推送到 heroku
【发布时间】:2010-12-30 18:18:39
【问题描述】:

我正在尝试将 rails 应用程序推送到 heroku。

当我到达最后一步时:

git push heroku master

它不起作用并给我这些错误:

Counting objects: 85, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (74/74), done.
Writing objects: 100% (85/85), 24.38 KiB, done.
Total 85 (delta 23), reused 0 (delta 0)

-----> Heroku receiving push
 !     Heroku push rejected, no Rails or Rack app detected.

error: hooks/pre-receive exited with error code 1
To git@heroku.com:smooth-dusk-26.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:smooth-dusk-26.git'

我不知道我做错了什么:(

【问题讨论】:

    标签: ruby-on-rails heroku


    【解决方案1】:

    这是我从 Heroku 得到的答案,它对我有用(在尝试了不同的 pg gem、适配器和其他 10 篇关于此的帖子的所有其他内容之后)

    1) 添加以下行: 宝石'pg' 到您的 Gemfile。

    2) 运行命令 bundle install 将 gem 安装到您的包中。

    3) 暂存 Gemfile 和 Gemfile.lock 更改: git add Gemfile Gemfile.lock

    4) 提交更改: git commit -m "安装 pg gem"

    5) 重新部署到heroku: git push heroku 大师

    【讨论】:

    • Dan,如果这解决了您的问题,那是因为 Heroku 在生产中使用 Postgres 作为数据库。假设您在本地使用 sqlite,您需要添加 pg gem,以便您的应用可以与 heroku 的数据库通信。
    【解决方案2】:

    当您创建 Rails 应用程序时,您是否将目录更改为应用程序的目录?您必须从应用程序目录中执行所有命令。

    rails myapp
    cd myapp
    

    【讨论】:

    • 是的,我已将其更改为错误的目录 tho:/ thnx。但现在我的 css 文件将无法工作:/
    • 我的公共目录也坏了:(
    【解决方案3】:

    我在阅读 Michael Hartl 的 Rails Tutorial 的第 1 章时遇到了同样的错误。他们最终通过在打开 Heroku 帐户并配置 SSH 密钥后发出另一个 git commit 命令来解决:git commit -a -m "Heroku recommit"

    git push heroku master 然后就成功了。

    【讨论】:

      【解决方案4】:

      我只是在尝试将我的应用程序推送到 heroku 时遇到了同样的问题,但以上答案都没有解决它。

      我通过使用rvm gemset empty 清空我的RVM Gemset、删除我的Gemfile.lock(最好只是重命名它)并重新安装我的gem 解决了这个问题。在此之后推送工作正常。

      【讨论】:

        【解决方案5】:

        对我来说,修复它的是 index.php 的存在。 Heroku 似乎在预提交时检查 index.php 是否存在。

        【讨论】:

          【解决方案6】:

          按照 ror 网站上的指南之一,在 windows 下遇到了同样的问题。像http://devcenter.heroku.com/articles/quickstart 那样做完所有事情后,它就解决了。

          似乎问题是因为缺少两行。

          cd 我的应用程序

          git 初始化

          【讨论】:

            【解决方案7】:

            另外,如果您使用的是 Rails 3.0,请确保使用 cedar 堆栈

            heroku create --stack cedar
            

            【讨论】:

              【解决方案8】:

              我浏览了 Rails 教程,Heroku (MAC OS X) 没有任何问题,但您必须按照说明进行操作。

              首先,确保您添加/提交到 Git。然后,如果您在 -b (分支)中,则需要签出到 master 中,然后合并分支。如果您对资产进行了更改,则需要 rake asset:precompile。

              如果您遇到机架问题,请确保您拥有此文件 => config.ru,其内容应如下所示。

              # This file is used by Rack-based servers to start the application.
              
              require ::File.expand_path('../config/environment',  __FILE__)
              run SampleApp::Application
              

              我对 Rails 和 Heroku 还比较陌生,但正如我上面提到的,如果您按照教程的说明进行操作,Heroku 很简单,而且这些说明绝对有效。如果没有,我强烈建议从那里开始!

              enter link description here

              【讨论】:

                猜你喜欢
                • 2015-01-01
                • 2016-05-12
                • 1970-01-01
                • 2011-05-20
                • 2015-03-13
                • 1970-01-01
                • 2014-06-20
                • 1970-01-01
                • 2012-05-14
                相关资源
                最近更新 更多