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는 특정 프로젝트 파일을 찾아 지원되는 앱을 감지합니다. 귀하의 언어에 대한 요구 사항을 찾으려면 여기 에서 시작하십시오 .
- Node.js의 경우
package.json
. - Python 애플리케이션의 경우
requirements.txt
. - 기타
답변
새 앱과 관련이 없지만 … 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 충돌을 제거하지 않았을 때 배포 오류가 발생했습니다.