2012-01-02 4 views
6

Sto gestendo una dipendenza da Github che uso come dipendenza nel mio progetto. Ho inserito il dependecy come un collegamento tarball (cioè https://github.com/username/dependecy/tarball/master) nel pacchetto.json e funziona correttamente come previsto localmente. Quando aggiorno il pacchetto su Github posso eseguire un npm install e tutte le dipendenze, inclusi i tarball di Github, vengono aggiornate. Tuttavia non è il caso di Heroku. le dipendenze legate al tarball non vengono aggiornate. Qualche idea?Heroku non aggiorna node.js> package.json Github tarball dependecies

+0

Sto avendo lo stesso problema. In passato ero stato in grado di ingannarlo incrementando la versione della dipendenza ma ora non funziona. – respectTheCode

+0

ecco la mia soluzione per ora. Basta cambiare il nome utente nell'URL e fare un commit fittizio. (forse basta inserire l'url di una forchetta) Quindi cambia di nuovo all'originale e riprova. Spero che questo aiuti – pars

+0

o semplicemente spingere la cartella node_modules su heroku. – pars

risposta

0

Poiché nessuno ha ancora risposto, condividerò ciò che ho imparato. Il trucco sta nel far sì che heroku pensi che il tarball sia diverso o nuovo in modo che lo scarichi nuovamente. Come suggerito da @celalo, puoi rimuoverlo o cambiare il percorso, eseguire il commit, spingere, cambiarlo, commetterlo e spingerlo. Questo è disordinato ma funziona.

Quello che ho finito è stato creare un ramo master1. Mantengo il ramo sincronizzato con il master e quindi alternato l'url del tarball tra master e master1 quando ne ho bisogno per l'aggiornamento.

1

Ho avuto il problema simile. Il mio App ha avuto la dipendenza con il punto di inserimento delle versioni in questo modo:

"dependency": "^0.6", 

Così ogni volta che la dipendenza ha la sua versione patch aggiornata, volevo Heroku avere la dipendenza aggiornato senza alcuna commit/spinge alla mia App. Per questo ho impostato solo nel caso

heroku config:set NODE_MODULES_CACHE=false 

E quando la nuova versione di patch è diventato disponibile ho fatto la redeploy manuale della stessa app che è stato già distribuito da Heroku Dashboard. enter image description here Puoi provare a fare lo stesso per il tuo caso? Forse questo ti aiuterà.