2013-05-11 4 views
2

Я создал приложение PHP для heroku, и я установил подмодуль sendgrid-php. Однако, когда я пытаюсь протолкнуть его, это происходит:Heroku не принимает push из-за подмодуля

$ git push heroku 
Counting objects: 5, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (3/3), 289 bytes, done. 
Total 3 (delta 2), reused 0 (delta 0) 

-----> Git submodules detected, installing 
     Submodule 'sendgrid-php' (https://github.com/sendgrid/sendgrid-php) registered for path 'sendgrid-php' 
     warning: templates not found /app/vendor/share/git-core/templates 
     Initialized empty Git repository in /tmp/build_wfcgkfb0p50x/sendgrid-php/.git/ 
     fatal: reference is not a tree: 3f145137608a98b09eb01d447ff9d31d161ef2a2 
     Unable to checkout '3f145137608a98b09eb01d447ff9d31d161ef2a2' in submodule path 'sendgrid-php' 
!  Heroku push rejected, Submodule install failed with exit code 1 

To [email protected]:gausschain.git 
! [remote rejected] master -> master (pre-receive hook declined) 

Я также настроил SendGrid аддон для Heroku. Любые идеи относительно того, как я могу это решить?

ответ

3

Это означает, что в реальном субмодуле

SHA1 - 3f145137608a98b09eb01d447ff9d31d161ef2a2

не был еще толкаемом. но в файле .gitmodules этот SHA записывается на этой конкретной ветке

1

Это звучит так, как будто вы на самом деле делаете что-то неправильно. Рекомендуемый способ установки библиотеки SendGrid PHP - использовать композитор. Вы должны взглянуть на README для получения подробной информации об этом.

Существует PHP Heroku Buildpack с поддержкой композитора. Вот учебник, который поможет вам начать работу:

http://cloud.dzone.com/articles/using-composer-manage