我正在使用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时)可能出现错误的原因是什么?为什么会失败?
答案 0 :(得分:9)
你无法将任何随机回购推送到Heroku。它必须是一个rails应用程序(或任何其他支持的应用程序,如Django,但在这种情况下OP正在处理Rails),这就是预收件钩子在你的情况下拒绝,因为你的repo只有一些虚拟文件。 (请注意,本教程的第一步不是创建一个空的git repo,而是为您的Rails应用程序创建一个。请参阅快速入门中成功推送示例中的输出 - Rails app detected
- 表示它查找rails应用程序什么时候推东西。)
答案 1 :(得分:1)
在我将更改推送到单独的终端窗口中的单独的heroku项目后,我得到了同样的错误。在我通过终端重新登录到github之后,错误已经停止,因为该项目给了我错误。
答案 2 :(得分:0)
我能够通过执行以下步骤来解决此错误。
答案 3 :(得分:0)
我今天早上也遇到了这个错误,结果是Heroku中的服务(应用程序运行良好,但仪表板,部署已关闭)。
我等了几个小时,一旦他们的服务恢复正常,我的承诺就成功了。
答案 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