कैसे बताएं कि npm पैकेज वैश्विक या स्थानीय स्तर पर स्थापित किया गया था


153

मैं windows7 पर ग्रन्ट, नोड, एनपीएम, बोवर, और ग्रंट-क्ली स्थापित कर रहा हूं।

निर्देश कहते हैं कि मुझे वैश्विक के लिए -g ध्वज के साथ स्थापित कमांड चलाना चाहिए।

जब मैं स्थापित करता हूं तो मैं -g ध्वज का उपयोग कैसे कर सकता हूं? उन्हें अनइंस्टॉल करने और फिर से इंस्टॉल करने में बहुत समय लगेगा।

जवाबों:


219

विश्व स्तर पर स्थापित सभी पैकेजों को देखने के listलिए -gध्वज के साथ कमांड का उपयोग करें :

npm list -g

यह जाँचने के लिए कि क्या कोई विशिष्ट पैकेज विश्व स्तर पर स्थापित है, आप पैकेज का नाम ( gruntइस मामले में) नीचे बताए अनुसार प्रदान कर सकते हैं :

npm list -g grunt

या आप grepपैकेज नामों पर फ़िल्टर करने के लिए उपयोग कर सकते हैं :

npm list -g | grep grunt

स्रोत: https://docs.npmjs.com/cli/ls


4
एक बूलियन के लिए "स्थापित या नहीं?" जाँच करें, प्रयोग करके देखें --depth। उदाहरण के लिए npm list --depth 1 --global csats-mturk > /dev/null 2>&1:। यहाँ एक और अधिक विस्तृत उदाहरण है
एडम मोनसेन

2
@AdamMonsen, मैं टर्न के शीर्ष स्तर की स्थापना के लिए देख रहा था । मैं npm list --depth 0 --global ternजाँच करता था कि क्या टर्न विश्व स्तर पर स्थापित किया गया है जैसे किnpm install -g tern
सुधी

grepएक काफी विश्वसनीय समाधान की तरह लगता है
nmet पर

31
npm list --depth 1 --global packagename > /dev/null 2>&1

आप यह देखने के लिए बाहर निकलने की स्थिति देख सकते हैं कि यह स्थापित है या नहीं। धन्यवाद एडम मोनसेन


3
के लिए धन्यवाद --depth 1! यही मैं ढूंढ रहा था। वास्तव में मैं अभी उपयोग कर रहा हूंnpm list --depth 0 -g
प्रकाशित करें

किसी कारण से मेरे लिए $?हमेशा रिटर्न होता है 1, भले ही पैकेज आईएस स्थापित हो या स्थापित नहीं हो।
केटी

4
चेतावनी: npm हमेशा एक त्रुटि के साथ बाहर निकलेगा यदि आपके किसी भी पैकेज में असमतलता हो, भले ही पैकेज स्थापित हो । @Kayvar यही कारण है कि npm आपके लिए 1 लौटा रहा है।
कोडबेलिंग

17

यह जाँचने के लिए कि क्या कोई विशिष्ट पैकेज वैश्विक रूप से निष्पादित किया गया है:

npm list -g [package-name]

एक उदाहरण के रूप में "ग्रंट" लेते हैं। यदि यह विश्व स्तर पर स्थापित है, तो आपको कुछ इस तरह से देखना चाहिए

C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── grunt@0.4.5

यदि यह विश्व स्तर पर स्थापित नहीं है, तो आपको कुछ इस तरह से देखना चाहिए

C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── (empty)

यह जांचने के लिए कि क्या कोई विशिष्ट पैकेज स्थानीय रूप से स्थापित है, आप ऊपर-ही-पैरामीटर के बिना समान कमांड निष्पादित कर सकते हैं।

source: विश्व स्तर पर या स्थानीय स्तर पर npm पैकेज स्थापित किया गया था या नहीं, इसकी जांच कैसे करें


6

आप कमांड के साथ सभी वैश्विक पैकेज सूचीबद्ध कर सकते हैं:

npm ls -g

या के साथ एक विशिष्ट पैकेज के लिए जाँच करें:

npm ls -g [package-name] 

उदाहरण के लिए: npm ls -g @angular/cli


1

विंडोज में हम निम्नलिखित कमांड का उपयोग करते हैं ताकि यह पता लगाया जा सके कि पैकेज स्थापित है या नहीं। कृपया विवरण के लिए छवि देखें।

npm list -g | find "create"

नमूना परिणाम


0

के साथ अपने पैकेज से sindresorhus/is-installed-globally

https://github.com/sindresorhus/is-installed-globally

उपयोग:

const isInstalledGlobally = require('is-installed-globally');

// With `npm install your-package`
console.log(isInstalledGlobally);
//=> false

// With `npm install --global your-package`
console.log(isInstalledGlobally);
//=> true

मुझे यह तब उपयोगी लगा जब मुझे अपने पैकेज के साथ प्रीबिल्ट फाइल्स वितरित करनी पड़ी: वितरण फाइलों के साथ एनपीएम पैकेज कैसे प्रकाशित करें? इस पैकेज के साथ, मैं जांच सकता हूं कि क्या इंस्टॉलेशन स्थानीय या वैश्विक है, और फिर स्थानीय इंस्टॉलेशन के लिए रिश्तेदार पथ का उपयोग करें, जैसा कि यहां दिखाया गया है

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