2016-03-11 21 views
15

मैं अपनी प्रोजेक्ट निर्देशिका में एनपीएम के माध्यम से प्रतिक्रिया और स्थापित वेबपैक सीख रहा हूं लेकिन zsh को यह प्रोजेक्ट नहीं मिला है, भले ही मैं अपने प्रोजेक्ट में वेबपैक स्थापित कर सकूं। मैंने npm init --yes का उपयोग किया npm install --save webpackज़श: कमांड नहीं मिला: वेबपैक

उत्तर

16

इसे वैश्विक स्तर पर स्थापित करें।

npm i -g webpack 

आप webpack के साथ काम करेंगे, तो webpack-देव-सर्वर भी

npm i -g webpack-dev-server 

स्थापित मैं सुझाव है कि आप पहले एक सा के बारे में NPM और फिर webpack सीखते हैं। आप बहुत संघर्ष करेंगे। और फिर मैं वेबपैक का उपयोग न करने की सलाह देता हूं। मैंने इसे बोवर की तरह अनावश्यक पाया। मैं अपने गल्प निर्माण और एनपीएम चिपक रहा हूँ। वास्तव में एनपीएम सभी को समझने के लिए थोड़ा मुश्किल है। Gulp इसे बहुत आसान बनाता है।

+6

दस्तावेज़ीकरण के अनुसार: यह एक अनुशंसित अभ्यास नहीं है। https://webpack.js.org/get-started/install-webpack/ –

+0

@ हेल्मुट ग्रांडा चीज के बाद से बदला जा सकता है। – atilkan

1

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

मैंने वेबपैक स्थापित किया और वैश्विक स्तर पर गड़बड़ी की। हालांकि, फिर भी, $ webapack या $ घुरघुराना आदेश नहीं मिला

में हुई समस्या यह है कि NPM वैश्विक संकुल स्थापित करने के लिए/usr/स्थानीय/lib/node_modules जो जड़ अनुमति की आवश्यकता नहीं थी।

इसलिए, रूट अनुमतियों का उपयोग करने से बचने के लिए, मैंने उस निर्देशिका को बदल दिया जिसमें वैश्विक पैकेज $ HOME में निर्देशिका में स्थापित किए जाने हैं। ऐसा करने के लिए, मैं इस गाइड का पालन किया:

Install npm packages globally without sudo on macOS and Linux

इस के बाद, मैं विश्व स्तर पर फिर से (sudo के बिना इस समय) webpack और घुरघुराना स्थापित किया है और सत्यापित है कि वे अपने नए निर्देशिका में स्थापित किया गया है।

अब, मैं बिना किसी समस्या के चला सकता हूं!

$ webpack

और

$ असंतोष का शब्द

7

नोड मॉड्यूल स्थापित कर रहा है विश्व स्तर पर एक त्वरित समाधान है, लेकिन मैं पथ चर करने के लिए ./node_modules/.bin जोड़ सकते हैं और प्रयास करने के लिए सलाह देते हैं समझने के लिए, समस्या क्या है।

निष्पादित

~ export PATH="./node_modules/.bin:$PATH" 

बाद में आप बस सभी संकुल अपनी परियोजना में स्थानीय स्तर पर स्थापित कर सकते हैं। mocha या eslint जैसे आदेश भी वैश्विक स्तर पर इन पैकेजों को इंस्टॉल किए बिना निष्पादित किए जा सकते हैं। वहां कई अच्छी स्पष्टीकरण हैं जो शायद answer पढ़ सकते हैं।

+0

ऐसा मत करो ... आप में सापेक्ष पथ डालना $ PATH चर एक सुरक्षा छेद है। देखें http://stackoverflow.com/a/9683472/1521572 – WrksOnMyMachine

8

webpack स्थानीय स्तर पर स्थापित करने के बाद, आप भी इस्तेमाल कर सकते हैं:

$(npm bin)/webpack 

के बजाय:

./node_modules/.bin/webpack 
4

विश्व स्तर पर webpack स्थापित करने के लिए कोई जरूरत नहीं है।

मेरे रास्ते का प्रयास करें: फिर अपने टर्मिनल में

"scripts": { 
    "start": "webpack" 
}, 

,,

$npm start 

चलाने एक और त्वरित तरीका:

पहले, अपने package.json फ़ाइल में, इस ऐड बस चलाएं (हां, यह 'एनपीएक्स' है)

$npx webpack 

यह सब कुछ है।

संबंधित मुद्दे