我有一个现有的git repo用于我的个人网站,我将其移植到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'
解决方法
Cedar应用程序应该识别config.ru文件并为您创建一个Web进程,因此git可能无法跟踪某些基本文件.检查config.ru,Gemfile和Gemfile.lock是否全部已提交(您可以使用git status,但请注意,它不会为被忽略的文件输出任何内容,因此您还应检查.gitignore文件).
如果提交了所有文件,您还可以尝试指定Web进程在procfile中使用的命令.有关更多信息,请参阅Heroku文档:
> Getting started with Ruby: Declare process types with Procfile
> Declaring and Scaling Process Types with Procfile