स्थापित करने के बाद गुलप कमांड नहीं मिला


97

मैंने gulp स्थापित किया (विश्व स्तर पर) और ऐसा लग रहा है कि इसने काम किया क्योंकि यह इस कोड को चलाता है:

├── tildify@0.2.0
├── interpret@0.3.5
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── minimist@0.2.0
├── semver@2.3.2
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
├── liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
└── vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)

लेकिन जब मैं टाइप gulpकरता हूं तो यह कहता है-bash: gulp: command not found

किसी भी विचार क्या चल रहा है?


4
इसे हल करने के लिए, मैंने किया sudo install gulp -g। वह काम किया
Mr_Green

10
Mr_Green का मतलब है: sudo npm install gulp -g
jasonleonhard

जवाबों:


174

पता चला है कि npm गलत निर्देशिका में स्थापित किया गया था, इसलिए मुझे इस कोड को चलाकर "npm config उपसर्ग" बदलना पड़ा:

npm config set prefix /usr/local

फिर मैंने विश्व स्तर पर (-g परम के साथ) gulp को फिर से स्थापित किया और इसने ठीक से काम किया।

यह लेख वह जगह है जहाँ मैंने हल ढूंढा: http://webbb.be/blog/command-not-found-nn-npm


2
धन्यवाद! मेरी समस्या का समाधान किया :)
विद्रोह

2
गजब का। धन्यवाद।
एंड्रयू

2
इसके अलावा समाधान ने मेरी मदद की
सर्गेई एंड्रीव

2
धन्यवाद, यह काम किया। बहुत अजीब। मैंने इसे मैकबुक 1 पर स्थापित किया है, यह काम करता है, मैकबुक 2, फ्लॉप काम करता है, इसलिए मुझे यह करना होगा। पागल।
२३:३४ पर axelvnk

2
मुझे आश्चर्य है कि StackOverflow पहले जवाब के रूप में यह क्यों नहीं दिखाता है! स्पष्ट रूप से इसका सही एक है।
आनंद साईंनाथ

58

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

npm config set prefix /usr/local

मैं इस बात की पुष्टि npm root -gकी ओर इशारा करते था /usr/local/lib/node_modules/npm, लेकिन आदेश में स्थापित करने के लिए gulpमें /usr/local/lib/node_modules, मैं का इस्तेमाल किया था sudo:

sudo npm install gulp -g


मैं इस समाधान के लिए खोज रहा था! धन्यवाद! आदेश: npm config set prefix /usr/localसमस्या का हल!
उत्तर.हेल

21

यदि आप उपयोग कर रहे हैं tcsh(जो कि मैक ओएस एक्स पर मेरा डिफ़ॉल्ट शेल है), तो आपको संभवतः rehashइंस्टॉल पूरा होने के बाद शेल में टाइप करना होगा:

npm install -g gulp

इसके तुरंत बाद:

rehash

अन्यथा, यदि यह आपकी पहली बार स्थापित हो रहा है gulp, तो आपका शेल यह नहीं पहचान सकता है कि एक नया निष्पादन योग्य स्थापित है - इसलिए आपको या तो एक नया शेल शुरू करने की आवश्यकता है, या rehashवर्तमान शेल में टाइप करें ।

(यह मूल रूप से आपके द्वारा विश्व स्तर पर स्थापित प्रत्येक कमांड के लिए एक बार की चीज है।)


17

मुझे पता है कि यह एक पुराना धागा है, लेकिन फ्यूचर-मी और पोस्टीरिटी के लिए, मुझे लगा कि मुझे "रनिंग एनपीएम के रूप में सूडो" चर्चा के आसपास अपने दो-सेंट जोड़ना चाहिए। अस्वीकरण: मैं विंडोज का उपयोग नहीं करता हूं। ये चरण केवल गैर-विंडोज़ मशीनों पर ही साबित हुए हैं, दोनों आभासी और भौतिक।

आप npm की डिफ़ॉल्ट निर्देशिका की अनुमति को बदलकर sudo का उपयोग करने की आवश्यकता से बच सकते हैं।


कैसे करें: npm को बिना चलाने के लिए अनुमतियाँ बदलें sudo

चरण 1: पता लगाएं कि npm की डिफ़ॉल्ट निर्देशिका कहां है।

  • ऐसा करने के लिए, अपना टर्मिनल खोलें और चलाएँ:
    npm config get prefix

चरण 2: आगे बढ़ें, उस कमांड के आउटपुट के आधार पर:

  • परिदृश्य एक: npm की डिफ़ॉल्ट निर्देशिका /usr/local
    अधिकांश उपयोगकर्ताओं के लिए है, आपका आउटपुट दिखाएगा कि npm की डिफ़ॉल्ट निर्देशिका / usr / स्थानीय है, जिस स्थिति में आप निर्देशिका के लिए अनुमतियों को अद्यतन करने के लिए चरण 4 को छोड़ सकते हैं।
  • परिदृश्य दो: NPM के डिफ़ॉल्ट निर्देशिका है /usrया /Users/YOURUSERNAME/node_modulesया /Something/Else/FishyLooking
    आप पाते हैं कि NPM के डिफ़ॉल्ट निर्देशिका / usr / स्थानीय नहीं है, लेकिन बजाय कुछ आप व्याख्या नहीं कर सकते या दिखता गड़बड़ है, तुम NPM की डिफ़ॉल्ट निर्देशिका बदलने के लिए चरण 3 के पास जाना चाहिए है, या आप बहुत बड़े पैमाने पर अपनी अनुमतियों को गड़बड़ाने का जोखिम उठाते हैं

चरण 3: npm की डिफ़ॉल्ट निर्देशिका बदलें:

  • इसके बारे में जाने के कुछ तरीके हैं, जिनमें विशेष रूप से वैश्विक प्रतिष्ठानों के लिए एक निर्देशिका बनाना और फिर उस निर्देशिका को आपके $ PATH में शामिल करना शामिल है, लेकिन चूंकि / usr / स्थानीय शायद आपके रास्ते में पहले से ही है, मुझे लगता है कि यह सिर्फ npm के बदलने के लिए सरल है डिफ़ॉल्ट निर्देशिका। इस तरह: npm config set prefix /usr/local
    • मेरे द्वारा बताए गए अन्य तरीकों के बारे में अधिक जानकारी के लिए, यहाँ npm डॉक्स देखें ।

चरण 4: npm की डिफ़ॉल्ट निर्देशिका पर अनुमतियों को अपडेट करें:

  • एक बार जब आप यह सत्यापित कर लेते हैं कि npm की डिफ़ॉल्ट निर्देशिका समझदार स्थान पर है, तो आप कमांड का उपयोग करके इस पर अनुमतियों को अपडेट कर सकते हैं:
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

अब आपको npm <whatever>बिना दौड़ने में सक्षम होना चाहिए sudoनोट: इन परिवर्तनों को प्रभावी करने के लिए आपको अपने टर्मिनल को पुनः आरंभ करने की आवश्यकता हो सकती है।


7

मुझे इसी तरह की समस्या थी, मैंने निम्नलिखित कदम उठाए और यह काम किया।

1.npm विन्यास सेट उपसर्ग / usr / स्थानीय

2. क्रेडिट chown -R $ (whoami) $ (npm कॉन्फिग प्रीफिक्स मिलता है) / {lib / node_modules, bin, share}

यह दो कमांड npm पथ को सही सेट करेगा और अब आपको npm में sudo का उपयोग नहीं करना होगा। इसके बाद gulp को अनइंस्टॉल करें

  1. npm gulp की स्थापना रद्द करें

  2. सुडो के बिना फिर से गुलाल स्थापित करें, एनपीएम गुल -ग स्थापित करें

यह काम करना चाहिए !!


4

मुझे स्थापित होने के बाद "कमांड नहीं मिला" के साथ यह समस्या थी लेकिन मुझे ऊपर के समाधान में वर्णित के रूप में / usr / स्थानीय में स्थापित किया गया था।

मेरी समस्या मुझे sudo के साथ इंस्टॉल चलाने के कारण हुई। मैंने निम्नलिखित किया।

  1. सुडो के साथ फिर से गुलाल निकालना
  2. मेरे उपयोगकर्ता के लिए / usr / स्थानीय / lib / node_modules का स्वामी बदलना
  3. बिना सूडो के फिर से गुलाल लगाना। "npm स्थापित gulp -g"

1
यह अधिक समझदार लगता है कि मुझे सूडो के साथ स्थानीय रूप से कुछ भी स्थापित करने की आवश्यकता नहीं है और मुझे कभी सूडो का उपयोग करने की आवश्यकता क्यों होनी चाहिए - मेरे लिए जब मैं सूडो का उपयोग करना शुरू करता हूं तब चीजें तब टूट जाती हैं जब आप कमांड लाइन को सूडो के रूप में नहीं चलाते हैं - जैसे कि उपयोगकर्ता के तहत दिन के लिए दिन देव। मुझे लगता है कि आपका तरीका बहुत अधिक सही है - सुडो हमेशा सबसे अच्छा जवाब नहीं होता है, हालांकि यह पल के लिए ठीक लगता है।
उतरा

3

आपको यह करने की आवश्यकता है npm install --global gulp। यह मेरे लिए काम करता है और मुझे भी यह समस्या थी। यह इसलिए है क्योंकि आपने इस पैकेज को विश्व स्तर पर स्थापित नहीं किया है।


3

यदि आप Mac रन रूट विशेषाधिकार का उपयोग कर रहे हैं

sudo npm install gulp-cli --global

यह जाँचने के लिए कि क्या यह रन है

gulp -v

CLI संस्करण: 2.2.0 (आउटपुट)

स्थानीय संस्करण: अज्ञात


1

मैं Win10 पर यह काम कर रहा हूँ ऊपर और कहीं से जवाब के संयोजन का उपयोग कर। दूसरों के लिए यहाँ पोस्टिंग और मुझे भविष्य।

मैंने यहाँ से निर्देशों का पालन किया: https://gulpjs.com/docs/en/getting-started/quick-start लेकिन gulp --version टाइप करने के बाद अंतिम चरण पर मुझे संदेश मिला -लैश: gulp: कमांड नहीं मिला

इसे ठीक करने के लिए:

  1. मैंने अपने पथ वातावरण चर में% AppData% \ npm जोड़ा
  2. सभी gitbash (cmd, powershell, आदि ...) को बंद किया और gitbash को पुनः आरंभ किया।
  3. फिर गल्प - विसर्जन ने काम किया

इसके अलावा, कारणों के लिए नीचे पाया गया कि विश्व स्तर पर क्यों नहीं स्थापित किया जाए और इसे कैसे हटाया जाए (यह सुनिश्चित नहीं है कि यह उचित है हालांकि:)

क्या gulp- "cli" के लिए खड़ा है?

विश्व स्तर पर एनपीएम से गुल सीएलआई की स्थापना कैसे करें?


0

मेरे मामले में npm स्थापित समाधान से पहले sudo जोड़ने से समस्या नहीं मिली

sudo npm install


0

यदि आप अपने उपसर्ग को बरकरार रखना चाहते हैं, तो बस इसे अपने पैट वैरिएबल के लिए बिन dir निर्यात करें:
export PATH=$HOME/your-path/bin:$PATH
मैंने इस लाइन को अपने $ HOME / .profile में जोड़ा और इसे sourced किया।

/usr/localआपको उपयोग करने के लिए उपसर्ग सेट करना sudo, इसलिए मैं इसे अपने उपयोगकर्ता में रखना पसंद करता हूं। आप अपने उपसर्ग की जाँच कर सकते हैं npm prefix -g

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