नोड पैकेज (ग्रंट) स्थापित है लेकिन उपलब्ध नहीं है


187

मैं एक github jquery-ui पुस्तकालय का उपयोग करने का प्रयास कर रहा हूं grunt, लेकिन चलाने के बाद npm installमैं अभी भी readme फ़ाइल के अनुसार कमांड नहीं चला सकता । यह सिर्फ देता है No command 'grunt' found:

james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build
No command 'grunt' found, did you mean:
 Command 'grun' from package 'grun' (universe)
grunt: command not found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls
jquery-ui@1.9.0pre /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ grunt@0.3.9 
 ├── async@0.1.18 
 ├── colors@0.6.0-1 
 ├─┬ connect@1.8.7 
  ├── formidable@1.0.9 
  ├── mime@1.2.5 
  └── qs@0.5.0 
 ├── dateformat@1.0.2-1.2.3 
 ├─┬ glob-whatev@0.1.6 
  └─┬ minimatch@0.2.4 
    └── lru-cache@1.0.6 
 ├─┬ gzip-js@0.3.1 
  ├── crc32@0.2.2 
  └── deflate-js@0.2.2 
 ├── hooker@0.2.3 
 ├─┬ jshint@0.5.9 
  ├── argsparser@0.0.6 
  └─┬ minimatch@0.2.4 
    └── lru-cache@1.0.6 
 ├─┬ nodeunit@0.6.4 
  ├── tap-assert@0.0.10 
  └─┬ tap-producer@0.0.1 
    ├── inherits@1.0.0 
    ├── tap-results@0.0.2 
    └── yamlish@0.0.5 
 ├─┬ nopt@1.0.10 
  └── abbrev@1.0.3 
 ├─┬ prompt@0.1.12 
  ├── pkginfo@0.2.3 
  └─┬ winston@0.5.11 
    ├── eyes@0.1.7 
    ├─┬ loggly@0.3.11 
     └── timespan@2.2.0 
    └── stack-trace@0.0.6 
 ├── semver@1.0.13 
 ├─┬ temporary@0.0.2 
  └── package@1.0.0 
 ├── uglify-js@1.0.7 
 ├── underscore@1.2.4 
 └── underscore.string@2.1.1 
├── grunt-compare-size@0.1.4 
├─┬ grunt-css@0.2.0 
 ├── csslint@0.9.8 
 └── sqwish@0.2.0 
├── grunt-html@0.1.1 
├── request@2.9.153 
├─┬ rimraf@2.0.1 
 └── graceful-fs@1.1.8 
└─┬ testswarm@0.2.2 
  └── request@2.9.202 

मैं उलझन में हूँ, मुझे क्या याद आ रहा है?

जवाबों:


412

कमांड लाइन टूल ग्रंट के नवीनतम संस्करण (लेखन के समय 0.4) के साथ शामिल नहीं हैं, इसके बजाय आपको उन्हें अलग से स्थापित करने की आवश्यकता है।

यह एक अच्छा विचार है क्योंकि इसका मतलब है कि आपके पास विभिन्न परियोजनाओं पर चलने वाले ग्रंट के विभिन्न संस्करण हो सकते हैं लेकिन फिर भी gruntउन्हें चलाने के लिए अच्छे संक्षिप्त आदेश का उपयोग करें।

तो पहले विश्व स्तर पर ग्रंट क्ली टूल्स स्थापित करें:

npm install -g grunt-cli

(या संभवतः sudo npm install -g grunt-cli)।

आप यह स्थापित कर सकते हैं कि टाइप करके काम कर रहा है grunt --version

अब आप अपनी परियोजना के लिए ग्रंट स्थानीय का वर्तमान संस्करण स्थापित कर सकते हैं। तो आपके प्रोजेक्ट के स्थान से ...

npm install grunt --save-dev

save-devस्विच सख्ती से आवश्यक नहीं है, लेकिन क्योंकि यह एक विकास केवल मॉड्यूल के रूप में अपनी package.json devDependencies खंड में घुरघुराना का प्रतीक होगा एक अच्छा विचार है।


5
मुझे
npm


2
यदि यह आपके लिए काम नहीं करता है, तो ग्रंट और ग्रंट-क्ली को अनइंस्टॉल करने का प्रयास करें और फिर इसे फिर से करें। केवल मेरे लिए काम करता है अगर मैं sudoआपको धन्यवाद टॉम का उपयोग करता हूं !
20

नोट: यदि आपको sudo का उपयोग करना है, तो आपको नोड सेटअप के साथ क्या करना है। यह आदर्श नहीं है लेकिन इसे ठीक किया जा सकता है। sindresorhus एक तरीका बताता है । मैं NVM (नोड संस्करण प्रबंधक) का उपयोग करना पसंद करता हूं
टॉम पी

1
यदि आप यहां हैं और आप node not foundउपरोक्त कमांड को चलाने के बाद हिट करते हैं और आपने नोड को स्थापित करने के लिए पैकेज मैनेजर का उपयोग किया है, तो आपको sudo ln -s /usr/local/bin/nodejs /usr/local/bin/node
सिमिलिंक


24

अगर आपने रनिंग करके ग्रंट पैकेज स्थापित किया है npm install -g gruntऔर यह अभी भी कहता है No command 'grunt' foundया grunt: command not found, यह काम करने का एक त्वरित और गंदा तरीका नोड बायनेरिज़ को आपके $ पाथ से मैन्युअल रूप से लिंक कर रहा है।

MacOSX / Linux पर आप इस लाइन को अपनी ~/.bash_profileया ~/.bashrcफाइल में जोड़ सकते हैं ।

PATH=$PATH:/usr/local/Cellar/node/HEAD/bin # Add NPM binaries

आपको संभवतः /usr/local/Cellar/node/HEAD/binउस रास्ते से प्रतिस्थापित करना चाहिए जहां आपकी नोड बायनेरिज़ मिल सकती है।

अगर यह मेरे लिए त्वरित और गंदा है, तो ऐसा इसलिए है क्योंकि सब कुछ ऐसा किए बिना काम करना चाहिए, लेकिन एक अज्ञात कारण से, एक लिंक टूटा हुआ लगता है। जैसा कि आईआरसी पर कोई भी मुझे नहीं बता सकता है कि ऐसा क्यों हुआ, मैंने इसे (ग्रंट) काम करने का अपना तरीका पाया।

पुनश्च: इससे आपको ग्रंट कार्य करने में मदद करनी चाहिए, यह उत्तर jquery-ui संबंधित नहीं है।

अद्यतन 02/2013 : आपको @ टॉम-पी के उत्तर पर एक नज़र डालनी चाहिए जो बेहतर बताता है कि क्या चल रहा है। टॉम आपकी bashrc फ़ाइल को हैक करने के बजाय हमें वास्तविक समाधान देता है: दोनों को काम करना चाहिए, लेकिन आपको पहले स्थापित करने का प्रयास करना चाहिएgrunt-cli


अन्य उत्तर देखें - जो स्पष्टीकरण प्रदान करता है।
युगल जिंदल

क्या आप तहखाना बना सकते हैं कि सेलर यहाँ क्या है? क्या यह आपके लिए विशिष्ट है / आपकी स्थापना?
ब्रायन सी

12

मेरे मामले में, मुझे लाइन 1 में फ़ाइल / usr / लोकल / बिन / ग्रंट को संशोधित करने की आवश्यकता है (इसे न बनाएं):

 #!/usr/bin/env node //remove this line
 #!/usr/bin/env nodejs // and put this line to run with nodejs

संपादित:

समस्याओं से बचने के लिए, मैंने "नोड" के नाम से एक लिंक बनाया क्योंकि कई अन्य प्रोग्राम अभी भी "नोड" कमांड का उपयोग करते हैं।

 sudo ln -s /usr/bin/nodejs /usr/sbin/node

6
मैन्युअल रूप से संपादन की गई फ़ाइलों को संपादित करने से किसी को भी हटाने के लिए रचनात्मक डाउनवोट। अपनी समस्या के लिए आपको चाहिए apt-get install nodejs-legacy
वायु

आपका सुझाव सबसे नए और एकमात्र सुझाव में से एक है, जिसने डेबियन जेसी के मेरे नए ब्रांड पर काम किया।
हेलजेट

ओके एयर, लेकिन मैं OSX का उपयोग कर रहा हूं, मैं कुछ चीजों की कोशिश करूंगा जैसेbrew install nodejs-leacy
एडगार्ड लील

@ मेरी धन्यवाद कि मेरी समस्या थी। पिछले सभी चरणों का पालन करने के बाद, यह ग्रंट को पहचानने में असमर्थ था ।
केमिकोफा भूत

11

विश्व स्तर पर कुछ भी जोड़ने के बिना, खिड़कियों पर ग्रंट चलाने का एक और तरीका है। यह एक ऐसा मामला है जब आपको% PATH% के साथ कुछ नहीं करना है

यदि आपके पास ग्रंट और ग्रंट-क्ली स्थापित है (बिना -g स्विच)। ऐसे या वैसे:

npm install grunt-cli
npm install grunt@0.4.5

या आपके पैकेज में होने से। जैसे फ़ाइल:

"devDependencies": {
    "grunt-cli": "^1.2.0",
    "grunt": "^0.4.5",

आप अपने स्थानीय इंस्टॉलेशन से ग्रंट को कॉल कर सकते हैं:

node node_modules\grunt-cli\bin\grunt --version

यह उन लोगों के लिए एक समाधान है जो कुछ कारणों से नहीं चाहते हैं या पीएटीएच के साथ नहीं खेल सकते हैं, या कुछ और इसे हर समय गड़बड़ कर रहे हैं, उदाहरण के लिए एक निर्माण एजेंट पर।

संपादित करें: जोड़ा गया संस्करण चूंकि ग्रन्ट-क्लि ग्रंट> 0.3 के साथ काम करता है


डॉकटर का उपयोग करने वाला कोई व्यक्ति इसे उपयोगी पा सकता है।
डेनियल Kmak

11

WIN7 पर मुझे मैन्युअल रूप से Windows PATH पर्यावरण चर में npm फ़ोल्डर (जिसमें मायावी 'ग्रन्ट' फ़ाइल शामिल है) के लिए पथ जोड़ना था।
मेरे मामले में थाC:\Users\mhaagsma\AppData\Roaming\npm


2

ग्रंट स्थापित करने का सही तरीका इस कमांड को चलाने से है:

npm install grunt -g

(यदि आप EACCESS त्रुटि संदेश प्राप्त करते हैं तो ऊपर दिए गए "sudo" पर जाएं)

-g एनपीएम को विश्व स्तर पर पैकेज स्थापित करेगा, जिससे आप अपनी वर्तमान मशीन में जब चाहें उपयोग कर सकेंगे।


6
ध्यान दें कि यदि आप ऐसा करते हैं (मैंने अभी परीक्षण किया है), तब gruntभी विफल रहेगा क्योंकि ग्रंट पैकेज में कोई कमांड लाइन टूल शामिल नहीं है। आपको चाहिए grunt-cli
वायु

3
स्पष्ट रूप से, आपको स्थानीय और वैश्विक दोनों की आवश्यकता है
एडोनिस के। काकोलिडिस

1
वैश्विक इंस्टॉल (कमांड लाइन की जरूरतों के लिए), "आवश्यकता (जो भी हो)" प्रकार की जरूरतों के लिए स्थानीय इंस्टॉल। इसलिए आपको दोनों करने की जरूरत है। आपकी सहायताके लिए धन्यवाद!
प्राग्रामर

1

हैलो मुझे मैक पर यह समस्या थी, और मैंने जो किया था

वैश्विक स्तर पर स्थापित और वैश्विक पथ के साथ उपसर्ग

sudo npm install grunt -g --prefix=/usr/local

अभी $ which grunt

बाहर रखना चाहिए /usr/local/bin/grunt

चियर्स


0

कभी-कभी आपको npm install package_name -gइसके लिए काम करना पड़ता है।


जवाब के लिए धन्यवाद। मैंने एक अलग तरह का दौर पाया है जो मैं करने की कोशिश कर रहा था।
एजेपी

@AJP आप हमें बता सकते हैं कि आप कैसे काम करते हैं, बजाय इसके कि आप हमें बताए? धन्यवाद।
रेफेरांको

@rayfranco क्षमा करें, मैंने मूल रूप से इसे छोड़ दिया था ... मुझे लगता है कि हम शायद jquery-ui पुस्तकालय बनाने की कोशिश कर रहे थे, इसलिए हमने अभी इसे डाउनलोड किया, वास्तव में अब याद नहीं कर सकते हैं ... क्षमा करें मुझे पता है कि यह उपयोगी नहीं है , जब आपको यह मिल जाए तो कृपया समाधान पोस्ट करें। ऐसा लगता है कि कई अन्य लोग इस पृष्ठ पर आए हैं (बिना किसी सफलता के)।
AJP

0

मेरे द्वारा उपयोग किए गए मेरे मामले में ubuntu बंडल को हटाने के लिए अन्य समाधान है:

sudo apt-get remove ruby-bundler 

मेरे लिए यही काम किया।


0

विंडोज पर, रहस्य का एक हिस्सा प्रतीत होता है जहां npm Grunt.cmd फ़ाइल स्थापित करता है। अपने लिनक्स बॉक्स पर रहते हुए, मुझे सिर्फ sudo npm install -g grunt-cli चलाना था, अपने विंडोज 8 वर्क लैपटॉप पर, ग्रंट को '.npm-global' डायरेक्टरी में रखा गया:% USER_HOME% \ n-npm-Global और I उस पथ को जोड़ना था।

विंडोज पर मेरे कदम थे:

  • npm स्थापित -g grunt-cli

  • पता लगाएँ कि बिल्ली कहाँ पर थी। cmd था (मुझे लगता है कि यह कुछ USER_HOME% \ App_Data \ Roaming में है)

  • मेरे पथ वातावरण चर में स्थान जोड़ा गया। एक नया cmd प्रॉम्प्ट खोला और ग्रंट कमांड ठीक चला।


0

विंडोज 10 पर इसे अपने पथ में जोड़ें:

%APPDATA%\npm

यह फ़ोल्डर का संदर्भ देता है ~/AppData/Roaming/npm

[मान लें कि आप पहले ही भाग चुके हैं npm install -g grunt-cli]

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