Windows'ta npm için önbellek yolunu nasıl değiştirebilirim (veya önbelleği tamamen devre dışı bırakabilirim)?


105

Node.js'yi Windows 7 x64 geliştirme makineme manuel yolla yükledim:

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"

Ben ana yerleştirdiğiniz düğüm x64 ikili birlikte npm paket yöneticisi de C:\Devel\nodejs. Bir cazibe gibi çalışıyor ve yükleyiciyle uğraşmadan ana ikiliyi güncelleyebilirim.

Çözemediğim tek sorun önbellek klasörünü taşımak. Yerel bir paket kurduğumda:

npm install express

... önbellek %APP_DATA%\npm-cacheklasörün altına yerleştirilir . Bunu şu şekilde değiştirmek istiyorum:

C:\Devel\nodejs\npm-cache

Npm önbellek klasörünü nasıl değiştirebilirim veya tamamen devre dışı bırakabilirim?


1
Konum şu şekilde olmamalı:% APPDATA% \ npm-cache
arni

Yanıtlar:


161

npmKomut satırını kullanarak npm önbellek klasörünü değiştirebilirsiniz . (bkz: https://docs.npmjs.com/misc/config ve daha spesifik olarak https://docs.npmjs.com/misc/config#cache )

Yani şu komutu denemek isteyebilirsiniz:

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

3
Ayrıca, npmrc rotasından aşağı inecekseniz, global npmrc dosyasının doğrudan $ PREFIX konumunda değil, $ PREFIX \ etc konumunda bulunduğunu unutmayın
Henry C

3
Bunu Cygwin kullanarak Windows 7'de yaparken, ters eğik çizgilerin kaldırılmasını önlemek için her ters eğik çizginin önüne bir eğik çizgi eklemek zorunda kaldım.
TJ.

8
npm config listDoğru ayarı doğrulamak için bir işlemi
yürüttükten

Bağlantılı belgenin herhangi bir yerinde, atıfta bulunduğunuz komutu bulmakta sorun yaşıyorum
AaA

40

Alternatif olarak export npm_config_cache=/path/to/cache(Unix) veya set npm_config_cache=C:\path\to\cache(Win) ile bir ortam değişkeni de ayarlayabilirsiniz npm config set(bu, npm'deki tüm yapılandırma seçenekleri için geçerlidir).


Docker kullanan herkes için env var değerini çalışma zamanında şu şekilde ekleyebilirsiniz:

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

3
Bu, docker'da kullanım için mükemmeldir. Thx
geliştirmem

3

Ayrıca şunları da yapabilirsiniz:

Yüklerken tek bir paket için, istediğiniz gibi önbellek yoluna sahip olmak için:

npm install packageName --cache path/to/some/folder

Package.json'daki tüm paketler için, istediğiniz gibi önbellek yoluna sahip olmak için:

Sadece package.json dosyasının her zamanki gibi olduğu dizinde olun ve

npm install --cache path/to/some/folder

Bunu npm belgelerinde bulamayabilirsiniz ama npm 6 ile denedim ve çalışıyor. Görünüşe göre npm 5'ten beri çalışıyor [Bakınız: install komutunda npm5'te önbellek klasörü nasıl belirtilir?


1

Windows'ta istediğiniz önbellek klasörüne kolayca cd yapabilir ve npm set cache --global


0

Ek olarak, bir güncelleme komutu çalıştırmanın da çalıştığını gördüm - örneğin:

npm update npm

Son olarak, doldurulup doldurulmadığını görmek için npm-cache dizinlerini kontrol edebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.