[ruby-on-rails] Heroku 푸시 거부 됨, Cedar 지원 앱이 감지되지 않음

Rails 3.1.3으로 Rails 앱을 만들고 있습니다.

git init
git remote add heroku <my heroku repo>
git add .
git commit -a -m "First commit"
git push heroku master

알았어 :

Counting objects: 102, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (86/86), done.
Writing objects: 100% (102/102), 315.47 KiB, done.
Total 102 (delta 3), reused 0 (delta 0)

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

To git@heroku.com:electric-dusk-3217.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to <my heroku rep>



답변

비슷한 문제가 있었지만 Django ( “requirements.txt”로 잘못 명명 됨)를 사용했습니다. 이 오류가 발생하면 Heroku가 앱 (및 해당 유형)을 식별하는 데 사용하는 일부 키 파일이 누락 되었기 때문에 여기에서 다른 답변을 일반화하려고합니다.

  • php : index.php
  • 파이썬 : requirements.txt
  • ruby : Gemfile # 대문자 표기
  • 노드 : package.json

답변

문제는 내 “Gemfile”이 “gemfile”이라는 것이 었습니다.


답변

이 오류 메시지가 표시되었지만 내 문제는 내 레일 앱이 내 자식 저장소의 루트 디렉토리에 없다는 것입니다. 파일을 루트 디렉토리로 옮긴 후 모든 것이 작동했습니다.


답변

Heroku는 특정 프로젝트 파일을 찾아 지원되는 앱을 감지합니다. 귀하의 언어에 대한 요구 사항을 찾으려면 여기 에서 시작하십시오 .


답변

새 앱과 관련이 없지만 … heroku에 사용자 정의 BUILDPACK을 설치 한 후 잊어 버린 후 동일한 오류 메시지가 나타납니다. 다음에 heroku에 배포하러 갔을 때 다음을 보았습니다.

-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

수정 사항은 다음을 확인하는 것입니다.

 heroku config

그리고 거기에서 BUILDPACK_URL설정을 해제 해야하는 Var 호출 을 찾았 습니다.

heroku config:unset BUILDPACK_URL

… 그리고 짜잔!


답변

또 다른 원인 : 마스터가 아닌 브랜치에서 작업하는 동안 마스터를 푸시했습니다. 내 마스터 브랜치에는 requirements.txt가 없습니다.

마스터에서 밀고 싶지 않았지만 헤 로쿠는 마스터 브랜치에만주의를 기울입니다. 해결책은 내 로컬 브랜치를 heroku의 마스터 브랜치로 푸시하는 것이 었습니다.

git push heroku local_branch:master


답변

Rails 앱에서이 오류의 또 다른 원인 : Gemfile.lock 파일에서 git merge 충돌을 제거하지 않았을 때 배포 오류가 발생했습니다.