मैं विंडोज पर npm के लिए कैश पथ (या पूरी तरह से कैश को अक्षम) कैसे बदल सकता हूं?


104

मैंने अपने विंडोज 7 x64 विकास मशीन पर Node.js स्थापित किया है, मैनुअल तरीका:

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"

मैंने npm पैकेज मैनेजर के साथ मुख्य नोड x64 बाइनरी रखा है । एक आकर्षण की तरह काम करता है और मैं इंस्टॉलर से निपटने के बिना मुख्य बाइनरी को अपडेट कर सकता हूं।C:\Devel\nodejs

एकमात्र समस्या जो मैं हल नहीं कर सकता वह कैश फ़ोल्डर बढ़ रहा है। जब मैं एक स्थानीय पैकेज स्थापित करता हूं:

npm install express

... कैश को %APP_DATA%\npm-cacheफ़ोल्डर में रखा गया है । मैं इसे बदलना चाहूंगा:

C:\Devel\nodejs\npm-cache

मैं npm कैश फ़ोल्डर को कैसे बदल सकता हूं, या इसे पूरी तरह से अक्षम कर सकता हूं?


1
स्थान नहीं होना चाहिए:% APPDATA% \
npm

जवाबों:


159

आप npmकमांड लाइन का उपयोग करके npm कैश फ़ोल्डर को बदल सकते हैं । (देखें: https://docs.npmjs.com/misc/config और अधिक विशेष रूप से https://docs.npmjs.com/misc/config#cache )

तो आप इस कमांड को आजमाना चाहेंगे:

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

3
यह भी ध्यान दें कि यदि आप npmrc मार्ग से नीचे जाने वाले हैं, तो वैश्विक npmrc फ़ाइल $ PREFIX पर सीधे स्थित नहीं है, बल्कि $ PREFIX \ etc में है
हेनरी C

3
सिग्विन का उपयोग करते हुए विंडोज 7 पर ऐसा करते समय मुझे बैकस्लैश को हटाने से बचने के लिए हर बैकस्लैश के आगे एक फॉरवर्ड स्लैश जोड़ना पड़ा।
टीजे

8
निष्पादित करने के बाद npm config listसही सेटिंग को सत्यापित करने के लिए
kspj

मुझे यह पता लगाने में समस्या हो रही है कि आप लिंक किए गए दस्तावेज़ में कहीं भी उल्लेख कर रहे हैं
AaA

39

आप इसके विकल्प के रूप में export npm_config_cache=/path/to/cache(यूनिक्स) या set npm_config_cache=C:\path\to\cache(विन) के साथ एक पर्यावरण चर भी सेट कर सकते हैं npm config set(यह एनपीएम में सभी कॉन्फ़िगर विकल्पों के लिए सच है)।


Docker का उपयोग करने वाले किसी के लिए आप रनवे पर env var को जोड़ सकते हैं:

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

3
यह डॉकटर में उपयोग के लिए एकदम सही है। Thx
velop

3

आप निम्न कार्य भी कर सकते हैं:

अपनी इच्छानुसार कैश पथ के लिए, इसे स्थापित करते समय एक पैकेज के लिए:

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

आप अपनी इच्छानुसार कैश पथ पा सकते हैं।

बस उस निर्देशिका में रहें जहाँ package.json हमेशा की तरह है और करते हैं

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

यह आपको npm प्रलेखन में नहीं मिल सकता है, लेकिन मैंने इसे npm 6 के साथ आज़माया है और यह काम करता है। ऐसा लगता है कि यह npm 5 के बाद से काम करता है [संदर्भ: इंस्टॉल कमांड पर npm5 में कैश फ़ोल्डर कैसे निर्दिष्ट करें?


1

विंडोज में आप बस वांछित कैश फ़ोल्डर में सीडी और कर सकते हैं npm set cache --global


0

इसके अलावा, मैंने पाया कि एक अपडेट कमांड चलाने का काम भी - उदाहरण के लिए:

npm update npm

अंत में, कोई अपनी npm-cache निर्देशिका की जांच कर सकता है कि क्या भरा जा रहा है या नहीं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.