Heroku中的新手:将我的应用程序推送到Heroku时出错

时间:2011-11-17 09:45:44

标签: git heroku

我正在使用Ubuntu 10.04。按照tutorial here,我创建了Heroku帐户,成功安装了 GIT Heroku 。我已经上传了SSH密钥并将heroku添加到我的系统PATH中。

之后,我做了以下事情:

---------- FIRST(成功)-------------

$ cd PATH/TO/MY_APP
$ git init
Initialized empty Git repository in .git/
$ touch HELLO
$ git add .
$ git commit -m "Add a HELLO file"

------------然后(成功)----------

$ heroku create
Enter your Heroku credentials.
Email: joe@domain.com
Password: 
Uploading ssh public key /Users/joe/.ssh/id_rsa.pub
Created http://high-sunrise-58.heroku.com/ | git@heroku.com:high-sunrise-58.git
Git remote heroku added

-----------最后一次(哪次失败!!!)----------

$ git push heroku master

Warning: Permanently added the RSA host key for IP address 'xx.xx.xx.xx' to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 226 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
f
-----> Heroku receiving push

 !     Heroku push rejected due to an unrecognized error.
 !     We've been notified, see http://support.heroku.com if the problem persists.


To git@heroku.com:high-sunrise-58.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:high-sunrise-58.git'

如上所述,我的最后一步失败

在我的最后一步(将我的应用推送到Heroku时)可能出现错误的原因是什么?为什么会失败?

6 个答案:

答案 0 :(得分:9)

你无法将任何随机回购推送到Heroku。它必须是一个rails应用程序(或任何其他支持的应用程序,如Django,但在这种情况下OP正在处理Rails),这就是预收件钩子在你的情况下拒绝,因为你的repo只有一些虚拟文件。 (请注意,本教程的第一步不是创建一个空的git repo,而是为您的Rails应用程序创建一个。请参阅快速入门中成功推送示例中的输出 - Rails app detected - 表示它查找rails应用程序什么时候推东西。)

答案 1 :(得分:1)

在我将更改推送到单独的终端窗口中的单独的heroku项目后,我得到了同样的错误。在我通过终端重新登录到github之后,错误已经停止,因为该项目给了我错误。

答案 2 :(得分:0)

我能够通过执行以下步骤来解决此错误。

  1. git init
  2. git add。
  3. git commit -m“我的第一次提交”
  4. heroku create
  5. git push heroku master

答案 3 :(得分:0)

我今天早上也遇到了这个错误,结果是Heroku中的服务(应用程序运行良好,但仪表板,部署已关闭)。

先检查http://status.heroku.com

我等了几个小时,一旦他们的服务恢复正常,我的承诺就成功了。

答案 4 :(得分:0)

当我搜索日志文件时,在用ReactJS创建Web简历时也遇到了这个问题

(显示在-> dashboard.heroku.com/apps/ {您的应用程序名称} /活动

,我看到了并遵循以下步骤。问题已经解决。

----->检测到Node.js应用

----->构建失败

!找到两个不同的锁文件:package-lock.json和yarn.lock        npm和yarn都为此应用程序创建了锁定文件,        但是只能使用一个来安装依赖项。正在安装        依赖项使用错误的程序包管理器可能会导致丢失        软件包或生产中的细微错误。

   - To use npm to install your application's dependencies please delete the yarn.lock file.
     $ git rm yarn.lock
   - To use yarn to install your application's dependences please delete
     the package-lock.json file.
     $ git rm package-lock.json

答案 5 :(得分:0)

如果您使用的是node.js,请在package.json中指定:

    "engines": {
    "node": "version", (you can check the version by typing "node -v" in your cmd prompt)
  },

在名称和版本定义下。

如果您使用yarn / npm,请在以下引擎下定义:“ yarn”:“ version” /“ npm”:“ version”。

此外,将此命令添加到git文件夹中的cmd提示符->

 heroku config:set NPM_CONFIG_PRODUCTION=true YARN_PRODUCTION=true