Bagaimana cara mengubah jalur cache untuk npm (atau menonaktifkan cache sepenuhnya) di Windows?


104

Saya telah menginstal Node.js di mesin pengembangan Windows 7 x64 saya, dengan cara manual:

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"

Saya telah menempatkan node utama x64 biner bersama dengan manajer paket npm di C:\Devel\nodejs. Bekerja seperti pesona dan saya dapat memperbarui biner utama tanpa berurusan dengan penginstal.

Satu-satunya masalah yang tidak bisa saya selesaikan adalah memindahkan folder cache. Ketika saya menginstal paket lokal:

npm install express

... cache ditempatkan di bawah %APP_DATA%\npm-cachefolder. Saya ingin mengubahnya menjadi:

C:\Devel\nodejs\npm-cache

Bagaimana cara mengubah folder cache npm, atau menonaktifkannya sepenuhnya?


1
Seharusnya lokasinya tidak:% APPDATA% \ npm-cache
arni

Jawaban:


159

Anda dapat mengubah folder cache npm menggunakan npmbaris perintah. (lihat: https://docs.npmjs.com/misc/config dan lebih khusus lagi https://docs.npmjs.com/misc/config#cache )

Jadi Anda mungkin ingin mencoba perintah ini:

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

3
Perhatikan juga bahwa jika Anda akan menggunakan rute npmrc, file npmrc global tidak terletak langsung di $ PREFIX, melainkan di $ PREFIX \ etc
Henry C

3
Saat melakukan ini pada Windows 7 menggunakan Cygwin saya harus menambahkan garis miring di depan setiap garis miring terbalik untuk menghindari garis miring terbalik dihapus.
TJ.

8
Setelah menjalankan lakukan a npm config listuntuk memverifikasi pengaturan yang benar
kampsj

Saya kesulitan menemukan perintah yang Anda maksud, di mana saja dalam dokumen tertaut
AaA

39

Anda juga dapat menyetel variabel lingkungan dengan export npm_config_cache=/path/to/cache(Unix) atau set npm_config_cache=C:\path\to\cache(Win) sebagai alternatif npm config set(ini berlaku untuk semua opsi konfigurasi di npm).


Bagi siapa pun yang menggunakan buruh pelabuhan, Anda dapat menambahkan env var saat runtime dengan:

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

3
Ini sangat cocok untuk digunakan di buruh pelabuhan. Thx
velop

3

Anda juga dapat melakukan hal berikut:

Untuk memiliki jalur cache sesuai keinginan, untuk satu paket saat menginstalnya:

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

Untuk memiliki jalur cache sesuai keinginan, untuk semua paket di package.json:

Cukup berada di direktori tempat package.json seperti biasa dan lakukan

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

Anda mungkin tidak menemukan ini di dokumentasi npm tetapi saya telah mencobanya dengan npm 6 dan berhasil. Sepertinya ini berfungsi sejak npm 5 [Lihat: Bagaimana cara menentukan folder cache di npm5 pada perintah install?


1

Di Windows Anda cukup cd ke folder cache yang diinginkan dan lakukan npm set cache --global


0

Selain itu, saya menemukan bahwa menjalankan perintah pembaruan juga berfungsi - misalnya:

npm update npm

Terakhir, seseorang dapat memeriksa direktori npm-cache mereka untuk melihat apakah terisi atau tidak.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.