it-swarm.com.de

Wie kann ich den Cache-Pfad für npm unter Windows ändern (oder den Cache vollständig deaktivieren)?

Ich habe Node.js auf meinem Windows 7 x64-Entwicklungscomputer installiert.

mkdir C:\Devel\nodejs
cd C:\Devel\nodejs
set NODE_PATH=%CD%
setx /M PATH "%PATH%;%NODE_PATH%"
setx /M NODE_PATH "%NODE_PATH%\node_modules"

Ich habe die binäre node x64-Binärdatei zusammen mit npm package manager in C:\Devel\nodejs eingefügt. Funktioniert wie ein Zauber und ich kann die Haupt-Binärdatei aktualisieren, ohne mich mit dem Installationsprogramm zu befassen.

Das einzige Problem, das ich nicht lösen kann, ist das Verschieben des Cache-Ordners. Wenn ich ein lokales Paket installiere:

npm install express

... Der Cache befindet sich im Ordner %APP_DATA%\npm-cache. Ich möchte es ändern in:

C:\Devel\nodejs\npm-cache

Wie kann ich den npm-Cache-Ordner ändern oder vollständig deaktivieren?

71
gremo

Sie können den npm-Cache-Ordner mithilfe der Befehlszeile npm ändern. (Siehe: https://docs.npmjs.com/misc/config und insbesondere https://docs.npmjs.com/misc/config#cache )

Vielleicht möchten Sie diesen Befehl ausprobieren:

> npm config set cache C:\Devel\nodejs\npm-cache --global 
120
jcreignou

Sie können auch eine Umgebungsvariable mit export npm_config_cache=/path/to/cache (Unix) oder set npm_config_cache=C:\path\to\cache (Win) als Alternative zu npm config set festlegen (dies gilt für alle Konfigurationsoptionen in npm).


Für alle, die Docker verwenden, können Sie die env var zur Laufzeit hinzufügen mit:

docker run -e npm_config_cache=/path/to/cache mydockerimage:tag

20
gib

Außerdem habe ich festgestellt, dass das Ausführen eines Aktualisierungsbefehls auch funktioniert. Zum Beispiel: "npm update npm" . Ohne Anführungszeichen. Schließlich kann man im npm-cache-Verzeichnis nachsehen, ob gefüllt wird oder nicht.

0
DoesEatOats