2016-03-22 10 views
3

Vor einiger Zeit hatte ich Probleme mit dem NPM-Cache auf unseren Build-Maschinen. Von Zeit zu Zeit mussten wir npm cache clean per Hand erledigen, und das löste verschiedene Probleme, von denen wir immer noch nicht sicher sind, was sie verursacht hat. Also nach einiger Zeit enthalten wir npm cache clean in allen unseren Build-Skripte, seitdem haben wir nicht mysteriös Probleme mit npm i, parallel aber jetzt Builds offensichtlich gegenseitig beeinflussen.Disable npm Cache

Für mich die beste Lösung scheint den npm Caching-Mechanismus vollständig ausschalten zu sein, aber ich kann nicht herausfinden, wie das zu tun.

Antwort

3

Sie könnten das Problem mit parallelen Builds beheben, indem Sie ein neues Verzeichnis für eine Serie von npm-Befehlen erstellen und dessen cache auf dieses leere Verzeichnis setzen und dieses Verzeichnis anschließend entfernen. Wie:

export npm_config_cache=$(mktemp -d) 
npm ... 
... 
rm -rf $npm_config_cache 

Dies würde die Notwendigkeit für npm cache clean entfernen, da es immer mit einem leeren Cache beginnen würde.

+0

Und warum die Serie von npm Befehle würde den Cache in dieser neuen Position verwenden Sie gerade erstellt haben? Was ich hier sehe, erstellen und löschen Sie ein temporäres Verzeichnis, aber npm benutzt immer noch den globalen Cache wie gewohnt ... Was fehlt mir? –

+1

@ marc.guenther Siehe https://docs.npmjs.com/misc/config#environment-variables –