webpack को आंतरिक या बाहरी कमांड, ऑपरेबल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है


125

मैं React.js सीख रहा हूं और मैं विंडोज़ 8 का उपयोग कर रहा हूं। मैंने अपने रूट फ़ोल्डर में नेविगेट किया है

1.Created the package.json file by npm init
2. install webpack by npm install -S webpack.now webpack has been downloaded to my modules folder
3. install webpack globally by typing npm install webpack -g
4. i am also having a webpack.config.js in my root folder which contains the source and ouput directory
5. when i type the webpack command i am getting the below error.

webpack को आंतरिक या बाहरी कमांड, ऑपरेबल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है


मुझे यह समस्या थी, लेकिन IDE (मेरे मामले में PHPStorm) को पुनः आरंभ करने के बाद समस्या हल हो गई थी
आर्थर Tsidkilov

जवाबों:


81

मेरे पास यह मुद्दा बहुत समय से था। (विश्व स्तर पर स्थापित webpack आदि) लेकिन अभी भी मान्यता प्राप्त नहीं है) यह पता चला है कि मैंने एनपीएम के लिए एनवायरमेंट वेरिएबल (जहां फ़ाइल webpack.cmd बैठा है) निर्दिष्ट नहीं किया है, इसलिए मैं अपने पाथ वेरिएबल में जोड़ता हूं

%USERPROFILE%\AppData\Roaming\npm\

यदि आप पॉवर्सशेल का उपयोग कर रहे हैं, तो आप अपने रास्ते को प्रभावी ढंग से जोड़ने के लिए निम्न कमांड टाइप कर सकते हैं:

[Environment]::SetEnvironmentVariable("Path", "$env:Path;%USERPROFILE%\AppData\Roaming\npm\", "User")

महत्वपूर्ण: इसे लागू करने के लिए अपनी पॉवरशेल विंडो को बंद करना और फिर से खोलना न भूलें।

आशा करता हूँ की ये काम करेगा।


6
अच्छी तरह से Iam एक ही जगह पर अटक गया ... क्या आप कृपया उर जवाब को विस्तृत कर सकते हैं
घुसपैठिए

2
मैं सभी चरणों का पालन कर रहा था, लेकिन यह काम नहीं कर रहा था, आखिरकार मुझे एहसास हुआ, मैंने प्रशासक के रूप में सीएमडी नहीं खोला।
होसिन जोदिदी

1
% APPDATA% \
npm पर

156

इस समस्या का बेहतर समाधान Webpackविश्व स्तर पर स्थापित करना है ।

यह हमेशा काम करता है और यह मेरे लिए काम करता है। कमांड के नीचे प्रयास करें।

npm install -g webpack

36
मुझे लगता है कि यह ध्यान दिया जाना चाहिए कि विश्व स्तर पर -g इंस्टाल वेबपैक का उपयोग करना, जिसे आप नहीं चाहते हैं यदि आपके पास कई प्रोजेक्ट्स हैं जिन्हें वेबपैक के विभिन्न संस्करणों की आवश्यकता हो सकती है।
उबर श्नोजोज़

92

एक विकल्प के रूप में, यदि आपके पास वेबपैक स्थानीय रूप से स्थापित है, तो आप स्पष्ट रूप से यह बता सकते हैं कि कमांड प्रॉम्प्ट को इसे कहां खोजना चाहिए, जैसे:

node_modules\.bin\webpack

(यह मान लेता है कि आप अपने साथ निर्देशिका के अंदर हैं package.jsonऔर आप पहले ही दौड़ चुके हैं npm install webpack।)


4
मैक्स से सहमत हूं, इसका कारण यह है कि स्थानीय रूप से (भक्ति निर्भरता में) वेबपैक स्थापित करने की सिफारिश की जाती है - मेरी समस्या हालांकि थोड़ी अलग थी, जब वीएस 2017 में प्री बिल्ड स्टेप के रूप में वेबपैक को जोड़ने पर, मुझे लगा कि वीएस काफी स्मार्ट था। वेबपैक cmd स्थानीय रूप से पूर्ण पथ के बिना
JimiSweden

@JimiSweden ने क्या आपने टूल्सnode_modules\.bin को जोड़ने की कोशिश की- > बाहरी उपकरणों को कॉन्फ़िगर करें
मैक्स फेविल्ली

4
आप पथों के साथ फ़िडलिंग के बजाय npx webpackचेक का उपयोग करने का प्रयास कर सकते ./node_modules/.binहैं।
मैनफ्रेड

46

npm install -g webpack-dev-server आपकी समस्या को हल कर देगा


2
यह त्रुटि संदेश ओपी पोस्ट का समाधान हो सकता है, लेकिन इस समस्या का एक अच्छा समाधान के रूप में यह अधिक से अधिक निर्भरता कहते हैं नहीं है बस याद आ रही webpack को सुलझाने। बेहतर विकल्पों के लिए अन्य उच्च-मतदान उत्तरों में से कोई भी देखें।
कोणीयसेन

2
जैसा कि पहले से ही अलग-अलग योगदानकर्ताओं द्वारा बताया गया है (अन्य उत्तर / टिप्पणियाँ देखें), विश्व स्तर पर स्थापित करना बुरा व्यवहार माना जाता है क्योंकि यह आपको एक संस्करण में बंद कर देता है। यह भी देखें webpack.js.org/guides/installation
मैनफ्रेड

17

स्थानीय निर्देशिका में नोड_मॉड्यूल हटाने की कोशिश करें और एनपीएम को फिर से चलाएं ।


1
धन्यवाद यह वास्तव में मेरे लिए किया था, अन्य उत्तरों की कोशिश की और यहाँ दुनिया भर में एक घंटे से अधिक पागल था
क्लिंट

12

अपने पैकेज में एक npm स्क्रिप्ट के रूप में webpack कमांड जोड़ें। json।

{
    "name": "react-app",
    "version": "1.0.0",
    "scripts": {
      "compile": "webpack --config webpack.config.js"
    }
}

फिर भागो

npm रन संकलन

जब वेबपैक स्थापित होता है तो यह एक ./node_modules/.bin फ़ोल्डर में एक बाइनरी बनाता है। npm स्क्रिप्ट भी इस फ़ोल्डर में बनाई गई निष्पादन योग्य लगती है


काम नहीं करता है - npm इंस्टाल -g वेबपैक-देव-सर्वर सही कमांड है
TarmoPikaro

11

वेबपैक सीएलआई अब एक अलग पैकेज में है और 'वेबपैक' कमांड का उपयोग करने के लिए इसे विश्व स्तर पर स्थापित किया जाना चाहिए:

npm install -g webpack-cli

संपादित करें: बहुत कुछ बदल गया है। वेबपैक लोग सीएलआई को विश्व स्तर पर (या उस मामले के लिए अलग से) स्थापित करने की अनुशंसा नहीं करते हैं। इस समस्या को अब ठीक किया जाना चाहिए, लेकिन उचित स्थापना आदेश है:

npm install --save-dev webpack

यह जवाब मूल रूप से ओपीएस समस्या के लिए "काम के आसपास" के रूप में था।


1
"विश्व स्तर पर स्थापित होना चाहिए" यह सही नहीं है क्योंकि मैं इसे समझता हूं। यहां तक ​​कि वेबपैक लोग भी इसके खिलाफ सलाह देते हैं। वेबपैक। Js.org/guides/installation
मैनफ्रेड

4

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

npm i -g webpack webpack-cli

या,

npm i webpack webpack-cli

यदि आप इसे स्थानीय रूप से स्थापित करते हैं, तो आपको इसे विशिष्ट रूप से कॉल करने की आवश्यकता है

node_modules/.bin/webpack -v

या, यदि स्थानीय रूप से स्थापित है, तो आप उपयोग कर सकते हैं npx webpack(npm संस्करण 6.5.0, webpack 4.28.4 और webpack-cli 3.2.1 के साथ परीक्षण किया गया)
Manfred

वह टिकट है
केकलेक

npm i -g webpack webpack-cli
VnDevil

4

हमने इस समस्या का भी अनुभव किया है और मुझे उन सभी उत्तरों को पसंद है जो कि परिभाषित स्क्रिप्ट का उपयोग करने का सुझाव देते हैं package.json

हमारे समाधान के लिए हम अक्सर निम्नलिखित अनुक्रम का उपयोग करते हैं:

  1. npm install --save-dev webpack-cli(यदि आप वेबपैक v4 का उपयोग कर रहे हैं या बाद में, अन्यथा उपयोग करें npm install --save-dev webpack, देखें वेबपैक संस्थापन , पुनः प्राप्त 19 जनवरी 2019)
  2. npx webpack

चरण 1 एक बंद है। चरण 2 भी जाँच करता है ./node_modules/.bin। आप package.jsonउदाहरण के लिए npm स्क्रिप्ट के रूप में दूसरा चरण जोड़ सकते हैं :

{
   ...
   "scripts": {
      ...
      "build": "npx webpack --mode development",
      ...
   },
   ...
}

और फिर npm run buildइस स्क्रिप्ट को निष्पादित करने के लिए उपयोग करें।

इस समाधान को npm संस्करण 6.5.0, वेबपैक संस्करण 4.28.4 और वेबपैक-क्लाई संस्करण 3.2.1 के साथ विंडोज 10 पर परीक्षण किया गया, जिसमें एक पॉवरशेल विंडो के अंदर सभी कमांड निष्पादित किए गए। मेरा नोडज संस्करण 10.14.2 है / है। मैंने उबंटू लिनक्स संस्करण 18.04 पर इसका परीक्षण भी किया।

मैं विश्व स्तर पर वेबपैक स्थापित करने के खिलाफ सलाह दूंगा, विशेष रूप से यदि आप बहुत सारे विभिन्न प्रोजेक्ट्स के साथ काम कर रहे हैं, जिनमें से प्रत्येक को वेबपैक के एक अलग संस्करण की आवश्यकता हो सकती है। विश्व स्तर पर वेबपैक को स्थापित करना आपको एक ही मशीन पर सभी परियोजनाओं में एक विशेष संस्करण में बंद कर देता है।


4

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

npm clean-install

3

मेरे पास एक ही मुद्दा है और मेरे पैकेज में कोड ब्लॉक जोड़ा गया है। फ़ाइल को जमा करें;

 "scripts": {
   "build": "webpack -d --progress --colors"
 }

और फिर टर्मिनल पर कमांड चलाएं;

npm run build


2

व्यवस्थापक के रूप में बस अपनी कमांड लाइन (cmd) चलाएं।


2

यदि आपने अभी-अभी रेपो क्लोन किया है, तो आपको सबसे पहले चलाने की आवश्यकता है

npm install

यदि आप प्रोजेक्ट की निर्भरताएँ अनुपलब्ध कर रहे हैं तो आपकी त्रुटि उत्पन्न हो जाएगी। उपरोक्त कमांड उन्हें डाउनलोड और इंस्टॉल करेगा।


2
npx webpack

यह मेरे लिए काम किया है। मैं विंडोज 10 का उपयोग कर रहा हूं और मैंने स्थानीय रूप से वेबपैक स्थापित किया है।


2

16.12.0 रिएक्ट में अपग्रेड करते समय मेरे पास यह मुद्दा था ।

DOM को रेंडर करते समय वेबपैक और स्टोर के संबंध में मेरी दो त्रुटियाँ थीं ।

वेबपैक त्रुटि:

webpack को आंतरिक या बाहरी कमांड, ऑपरेबल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है

वेबपैक समाधान:

  1. संबंधित VS समाधान बंद करें
  2. node_modulesफ़ोल्डर हटाएँ
  3. हटाए गए package-lock.json
  4. npm install
  5. npm rebuild
  6. इसे 2-3 बार दोहराएं

स्टोर त्रुटि:

टाइप करें स्टोर <()> स्टोर करने के लिए असाइन नहीं है <किसी भी, किसी भी प्रकार>

स्टोर समाधान:

मेरे रिएक्ट संस्करण को अपडेट करने के सुझावों ने मेरे लिए इस त्रुटि को ठीक नहीं किया, लेकिन चाहे मैं इसे करने की सलाह दूं।

मेरा कोड इस तरह दिख रहा है:

ReactDOM.render(
        <Provider store={store as any}>
            <ConnectedApp />
        </Provider>,
        document.getElementById('app')
    );

इस उपाय के अनुसार


1

मुझे एक ही त्रुटि मिली, किसी भी समाधान ने मेरे लिए काम नहीं किया, मैंने नोड को फिर से स्थापित किया और इससे मेरे वातावरण की मरम्मत हुई, सब कुछ फिर से काम करता है।


यही मुझे भी करना था। मैंने यहां पर कम से कम तीन अन्य "समाधानों" की कोशिश की और नोड को फिर से अनइंस्टॉल करने और पुनः स्थापित करने के अलावा किसी ने काम नहीं किया।
क्विकर

1

मेरे लिए इसने अलग से वेबपैक स्थापित करने का काम किया। तो बस:

$npm install
$npm install webpack

मुझे यकीन नहीं है कि यह क्यों आवश्यक होना चाहिए, लेकिन यह काम किया।


1

यह नीचे दिए गए आदेशों ने मेरे लिए काम किया।

npm cache clean --force
npm install -g webpack

नोट - इन कमांड को प्रशासक के रूप में चलाएं। एक बार स्थापित होने के बाद अपने कमांड प्रॉम्प्ट को बंद करें और इसे लागू परिवर्तनों को देखने के लिए पुनरारंभ करें।


1

यदि आप अपने JS प्रोजेक्ट्स के लिए बॉयलरप्लेट फ़ोल्डर बनाते हैं ताकि आप JS Modules webpackऔर का उपयोग कर सकेंBabel महान उपकरण हैं।

webpackविश्व स्तर पर स्थापित न करें और दोनों के सबसे हाल के संस्करणों को स्थापित करने के बाद, अपनेpackage.json फ़ाइल लोड हो जाएगी और भविष्य की परियोजनाओं के लिए कॉपी करने के लिए तैयार होगी।

node_modulesअपने बॉयलरप्लेट फ़ोल्डर में फ़ाइल का आकार कम करने और फिर नोड_मॉडल के उपयोग को पुनर्स्थापित करने के लिए फ़ोल्डर को हटाना सुनिश्चित करेंnpm install

मैं npm इंस्टाल चलाना भूल गया और अपने वेबपैक dev- सर्वर को चलाने की कोशिश करते समय यह त्रुटि मिलती रही जब तक मुझे एहसास नहीं हुआ कि मुझे npm installइंस्टॉल करने के लिए चलाने की आवश्यकता है node_modulesऔर तब यह काम किया।


हटाएं node_modules + npm इंस्टॉल मुझे फिर से मिल रहा है। धन्यवाद!
ब्रैंडन बार्कले


0

मेरे लिए ठीक-ठाक स्थानीय स्तर पर वेबपैक की स्थापना भक्ति पर आधारित थी। हालांकि मेरे पास यह है क्योंकि devDependenciesयह नोड_मॉडल फ़ोल्डर में स्थापित नहीं था। तो मैं भागा npm install --only=dev


-1

कभी-कभी npm इंस्टॉल -g वेबपैक ठीक से सेव नहीं होता है। Npm का उपयोग करने के लिए बेहतर है webpack --save स्थापित करें । इसने मेरे लिए काम किया।


1
-g विश्व स्तर पर स्थापित होता है (न कि आपकी स्थानीय परियोजना नोड_मॉड्यूल्स + पैकेज.जसन) - जबकि - स्थानीय रूप से (आपके स्थानीय नोड_मॉडल + पैकेज.जसन में) स्थापित होता है, इसलिए यह उत्तर गलत है।
जॉर्ज

-1

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

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