2013-01-16 4 views
21

Durante lo sviluppo della nostra applicazione Python/Django, abbiamo accidentalmente introdotto i requisiti del pacchetto in requirements.txt che installava versioni in conflitto di una libreria. Heroku ha memorizzato nella cache i requisiti interrotti nel CACHE_DIR specificato dal python buildpack, come documentato sul loro buildpack API info page, e non sembra che qualsiasi modifica al file requirements.txt possa eliminare la cache dei pacchetti danneggiati. Come possiamo costringere Heroku a svuotare completamente il CACHE_DIR e reinstallare tutti i requisiti e le dipendenze da zero?Come posso svuotare il buildpack Heroku CACHE_DIR?

risposta

7

Ho avuto lo stesso problema di quando stavo cercando di installare un modulo (django-piston) dal sorgente in quanto l'ultima versione ufficiale è un po 'vecchia e manca alcune correzioni di bug che sono cruciali per me. Ad ogni modo, c'è stato un problema in precedenza, e in effetti ho ottenuto un reply from support.

sembra un po 'strano per me, ma almeno funziona (basta scegliere qualsiasi numero di release di pitone in runtime.txt, ricostruzione, e quindi modificare di nuovo al vostro runtime desiderato e ricostruire di nuovo)

+0

soluzione Clunky ma risolto il mio problema (e ce ne doe s non sembra essere migliore in questo momento). Grazie! –

+0

Qualche idea su come farlo con un heroku-buildpack-php personalizzato? Ne sto modificando uno per lavorare con Laravel 4 e l'ho compilato e distribuito, ma manca pdo_pgsql quindi voglio il nuovo file php.ini ma è ancora bloccato nel cache_dir – Lotus

-1

sono stato in grado di cancellare la cache, semplicemente facendo una modifica al file readme.md (aggiunto alcuni spazi), commettendo, e spingendo

32

Usa heroku-repo plug purge_cache comando:

$ heroku plugins:install heroku-repo 
$ heroku repo:purge_cache -a appname 
+1

Questo è imbarazzante. Non c'è davvero l'opzione 'clean' per costruire/distribuire su Heroku? Abbiamo davvero bisogno di questo passo in più solo per buttare via le cache stantie? –