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.