4

我的个人网站有一个现有的 git 存储库,我将其移植到 Sinatra(主要用于模板,它是一个静态站点)。我不想丢失/重置这个 git 存储库。

当我尝试推送到 Heroku 时,出现以下错误。我有一个 config.ru 文件、一个 Gemfile 和一个 Gemfile.lock,以及 Sinatra 的其他一些东西。运行rackup工作,运行bundle exec rackup工作,我没有从 Heroku 收到任何关于缺少依赖项的警告。

我错过了什么吗?如果有帮助,我可以发布我网站的目录结构(尽管它是封闭的)。

~/Repos/website ➜ gp heroku master
Counting objects: 2836, done.
Compressing objects: 100% (2669/2669), done.
Writing objects: 100% (2836/2836), 3.48 MiB | 252 KiB/s, done.
Total 2836 (delta 481), reused 2117 (delta 155)

-----> Heroku receiving push
 !     Heroku push rejected, no Cedar-supported app detected

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

3 回答 3

4

Cedar 应用程序应该识别该config.ru文件并为您创建一个 Web 进程,因此 git 可能无法跟踪某些重要文件。检查config.ru,Gemfile并且Gemfile.lock都已提交(您可以使用git status,但请注意,它不会为忽略的文件输出任何内容,因此您还应该检查您的.gitignore文件)。

如果所有文件都已提交,您还可以尝试在Procfile. 有关更多信息,请参阅 Heroku 文档:

于 2012-08-23T07:41:35.150 回答
4

问题解决了。我在一个 git 分支上工作,特别是为了 Heroku/Sinatra 支持,结果我正在运行git push heroku master,它将本地 master 推送到远程 master。主分支没有有效的 Heroku 应用程序。我以为它会将当前本地分支推送到远程主分支,但事实并非如此。git push sinatra:master解决了这个问题。

于 2012-09-02T05:59:58.023 回答
2

对于那些发现接受的答案不能解决他们的问题的人,这个相关问题可能会提供解决方案:“Heroku 推送被拒绝,没有检测到 Cedar 支持的应用程序”当尝试使用现有的 git 存储库上传 Sinatra 应用程序时

于 2013-03-28T03:21:42.963 回答