इस त्रुटि के कारण क्या है - "घातक त्रुटि: स्थानीय ग्रन्ट खोजने में असमर्थ"


370

मैंने पहले ग्रंट के पुराने संस्करण को हटा दिया, फिर मैंने नया ग्रन्ट संस्करण स्थापित किया, और फिर मुझे यह त्रुटि मिली:

D: \ www \ grunt-test \ grunt ग्रंट-क्ली: ग्रंट कमांड लाइन इंटरफ़ेस। (V0.1.4)

घातक त्रुटि: स्थानीय ग्रन्ट खोजने में असमर्थ।

यदि आप इस संदेश को देख रहे हैं, तो या तो ग्रंटफाइल नहीं मिला है या ग्रंट आपके प्रोजेक्ट में स्थानीय रूप से स्थापित नहीं किया गया है। ग्रंट को स्थापित करने और कॉन्फ़िगर करने के बारे में अधिक जानकारी के लिए, कृपया प्रारंभ करना मार्गदर्शिका देखें: http://gruntjs.com/getting-started

क्या ऐसा इसलिए है क्योंकि मेरे सिस्टम पथ में ग्रन्ट का संदर्भ नहीं है? या कुछ और? मैंने कुछ समय पहले ही इसे फिर से स्थापित करने की कोशिश की।


6
क्या आपने विश्व स्तर पर स्थापित किया? npm install grunt -g
एलक्लेन्स

1
क्या आपके पास Gruntfile.jsअपनी परियोजना के मूल में है?
साइमन बौड्रीस

6
@Garreh यह कुछ समय के लिए है, लेकिन npm install grunt --save-devटर्मिनल से प्रयास करें । यह आपके लिए नवीनतम संस्करण जोड़ना चाहिए package.json
रोमेन

233
उफ़ - यह एक नए चेक आउट प्रोजेक्ट के साथ था। बस करने की जरूरत है npm install!
पॉशहैगेसी

6
nmp install - स्थानीय नोड_मॉडल फ़ोल्डर में निर्भरता स्थापित करता है।
निर्धन

जवाबों:


291

मुझे लगता है कि आपके पास grunt.jsअपने प्रोजेक्ट डायरेक्टरी में फाइल नहीं है । उपयोग करें grunt:init, जो आपको इस तरह के विकल्प देता है jQuery, node,commonjs। जो आप चाहते हैं उसे चुनें, फिर आगे बढ़ें। यह वास्तव में काम करता है। अधिक जानकारी के लिए आप इस पर जा सकते हैं ।

यह करो:

 1. npm install -g grunt
 2. grunt:init  ( you will get following options ):
      jquery: A jQuery plugin
      node: A Node module
      commonjs: A CommonJS module
      gruntplugin: A Grunt plugin
      gruntfile: A Gruntfile (grunt.js)
 3 .grunt init:jquery (if you want to create a jQuery related project.).

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

V1.4 के लिए समाधान:

1. npm install -g grunt-cli
2. npm init
   fill all details and it will create a package.json file.
3. npm install grunt (for grunt dependencies.)

संपादित करें: नए संस्करणों के लिए अद्यतित समाधान:

 npm install grunt --save-dev

2
यह संस्करण पुराना होना चाहिए (v0.3) .आज मैं इसे अनसुना कर रहा हूं, और ग्रंट-सीएलआई नामक नई ग्रंट (v0.4) को स्थापित कर रहा हूं। स्थिति बदल गई है ..
रयान यियाडा

29
वर्तमान में, npm install gruntग्रंट 0.3.x स्थापित करता है। आपको स्थानीय स्तर पर 'npm install grunt@0.4' करने की आवश्यकता होगी, grunt-cli के लिए आवश्यक ग्रंट के संस्करण को स्थापित करें
Jack

6
मेरी इच्छा है कि ग्रंट स्थापित कदम @ 0.4 को संबोधित करेंगे। जब तक मुझे आपकी टिप्पणी नहीं मिली, तब तक यह जानने की कोशिश कर रहा था कि क्या मेरे हाथ कांप रहे थे।
cnp

2
npm install grunt --save-devयह मेरे लिए किया
विनीसियस पिंटो

6
grunt-cliविश्व स्तर पर स्थापित किया जाना चाहिए, लेकिन यह आपको grunt.jsअपनी परियोजना में एक स्थानीय स्थापित करने की उम्मीद करता है । यह प्रत्येक परियोजना को ग्रंट के एक अलग संस्करण का उपयोग करने की अनुमति देता है। मैं आम तौर पर एक पैकेज के साथ npm का उपयोग करता हूं। किसी भी अन्य ग्रन्ट कॉनरी आदि को grunt.js स्थापित करने के लिए json फ़ाइल
हेनरी

164

विश्व स्तर के बजाय नोड_मॉड्यूल में ग्रंट स्थापित करें

Unable to find local Grunt संभावना का मतलब है कि आपने वैश्विक रूप से ग्रंट स्थापित किया है।

ग्रन्ट सीएलआई जोर देकर कहता है कि आप अपने स्थानीय नोड_मॉड्यूल निर्देशिका में ग्रंट स्थापित करते हैं, इसलिए ग्रंट आपकी परियोजना के लिए स्थानीय है।

यह विफल हो जाएगा:

npm install -g grunt

इसके बजाय यह करें:

npm install grunt --save-dev

83

करना

npm install

ग्रन्ट को स्थानीय रूप से स्थापित करने के लिए ./node_modules(और package.jsonफ़ाइल में निर्दिष्ट सब कुछ )


4
मैंने उस मूर्ख की तरह काम किया जो मैं नए कमांड के नए रेपो को मैक पर खींचने के बाद इस कमांड को चलाना भूल गया .....:
neoswf

1
कमांड लाइन टूल हमेशा वैश्विक स्तर पर स्थित हो सकता है, इसलिए स्थानीय स्तर पर ग्रंट को कैसे स्थापित करने की आवश्यकता है?
माइक एम

1
@ मायके कभी-कभी आपके अंदर होती node_modules/.binहै PATH। साथ ही, स्थानीय और वैश्विक अलग-अलग संस्करण हो सकते हैं।
क्लास मेलबर्न

मेरे मामले में यह नेटबींस की गलती थी। जब मैं git stashबाहरी उपकरण में करता हूं तो कभी-कभी यह मेरी परियोजनाओं को क्रैश कर देता है, यहां इसने कुछ मॉड्यूलों को हटा दिया node_modulesऔर सब कुछ काम करना बंद कर दिया (और पहले ठीक काम कर रहा था)। इसके बाद npm installफिर से अच्छा काम करता है।
विरोन

26

यदि आपके पास पहले से ही package.jsonपरियोजना में एक फाइल है और यह gruntनिर्भरता में है,

  "devDependencies": {
    "grunt": "~0.4.0",

तब आप npm installसमस्या को हल करने के लिए चला सकते हैं


5

मैंने sudo और अन्य विशेषाधिकार के बिना कुछ पैकेजों को स्थापित करने की गलती की, इससे मेरी समस्या ठीक हो गई।

sudo chown -R $(whoami) $HOME/.npm

आशा है कि यह किसी की मदद करता है।


5

यह कहता है कि आपके पास एक स्थानीय gruntकोशिश नहीं है:

npm install grunt

( -gयह स्थानीय के बिना है grunt)

हालांकि सीधे संबंधित नहीं हैं, सुनिश्चित करें कि आपके पास Gruntfile.jsअपने वर्तमान फ़ोल्डर में है।


4

ग्रंट के किस संस्करण का उपयोग किया जा रहा है, इसके आधार पर यहां कुछ समस्याएं हो सकती हैं। ग्रंट के नए संस्करण वास्तव में निर्दिष्ट करते हैं कि आपके पास एक फ़ाइल है जिसका नाम Gruntfile.js(पुराने के बजाय grunt.js) है।

आपके पास grunt-cliउपकरण विश्व स्तर पर स्थापित होना चाहिए (यह किया जाता है npm install -g grunt-cli)। यह आपको वास्तव gruntमें कमांड लाइन से कमांड चलाने की अनुमति देता है ।

दूसरी बात यह सुनिश्चित करें कि आपने अपनी परियोजना के लिए स्थानीय रूप से ग्रंट स्थापित किया है। यदि आप देखते हैं कि आपके package.jsonपास ऐसा कुछ नहीं है "grunt": "0.4.5"तो आपको npm install grunt --saveअपनी परियोजना निर्देशिका में करना चाहिए ।


3

मुझे इस समस्या को हल करने के लिए ubuntu पर निम्नलिखित आदेशों को निष्पादित करना था (मैं 1 घंटे के लिए ग्रंट जानता हूं):

sudo npm install -g grunt
sudo npm install -g grunt-cli

cd /usr/local/bin
# current symlink points to ../lib/node_modules/grunt/bin/grunt*
sudo rm /usr/local/bin/grunt
sudo ln -s ../lib/node_modules/grunt-cli/bin/grunt* grunt

यह गंदा है लेकिन यह केवल एक ही उपाय है जो मैंने पाया ... :(


2

उपरोक्त में से किसी ने भी मेरे लिए काम नहीं किया क्योंकि मैंने विश्व स्तर पर ग्रंट स्थापित किया था (इन उत्तरों में से कई में अनुशंसित, अजीब तरह से) और वह सब कुछ गड़बड़ कर रहा था। यहाँ क्या काम किया है:

npm uninstall -g grunt
npm install

केवल अब एक स्थानीय ग्रंट स्थापित किया गया था, और हमारे लिए उपयोगी है।


0

ग्रंट और इसे सेट करने के लिए नया होने के कारण, मैं Google ड्राइव से अपना ग्रन्ट प्रोजेक्ट / फ़ोल्डर चला रहा हूं (शायद मूर्खतापूर्ण) इसलिए मैं अपने लैपटॉप या वर्कस्टेशन से समान कोड / बिल्ड एक्सेस कर सकता हूं।

Google ड्राइव पर वापस nodes_modules फ़ोल्डरों के सिंक्रनाइज़ेशन का एक उचित बिट है और कुछ बिंदु पर एक संघर्ष प्रतीत हो रहा था, और / nodes_modules / grunt फ़ोल्डर का नाम बदलकर / nodes_modules / grunt (1) कर दिया गया था

(1) को हटाकर इसे वापस नामांकित करना मेरे लिए इसे ठीक करना प्रतीत हो रहा था।


आप GIT का उपयोग क्यों नहीं करते?
hmrc87

मैं / संस्करणों में परिवर्तन को ट्रैक नहीं करना चाहता था और दो अलग-अलग ग्रंट इंस्टॉल्स को बनाए रखने की कोशिश नहीं कर रहा था, लेकिन उपरोक्त परिदृश्य काफी समस्याग्रस्त था, इसलिए मैं वैसे भी चक्कर लगा चुका हूं।
LJT


0

वैग्रांत में मेरा वही मुद्दा था।

मैं स्थापित करने के लिए कमांड चलाने के लिए sudo का उपयोग किया है।

sudo npm install -g grunt-cli

इसने मेरे लिए काम किया।


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