ऐसा लगता है कि आपने स्थानीय रूप से बजाय विश्व स्तर पर एक npm पैकेज स्थापित करने की कोशिश की, जैसा कि man npm install
वर्णित है:
जी या --global तर्क विश्व स्तर पर करने के बजाय स्थानीय स्तर पर पैकेज स्थापित करने के लिए NPM का कारण होगा।
आम तौर पर, जब आप एक npm प्रोजेक्ट स्थापित कर रहे होते हैं (कई अन्य जो आपके पास हो सकते हैं), तो यह आपके डिबग लॉग के रूप में Node.js वैश्विक मॉड्यूल (/ usr / local / lib / node_modules) पर पैकेज स्थापित करने के लिए एक अच्छा विचार नहीं है। सुझाव दिया।
उपयोग करने के बजाय -g
, उपयोग करें --save
, जो स्वचालित रूप से आपकी package.json
फ़ाइल के लिए निर्भरता के रूप में पैकेज को बचाएगा :
ऐशे ही:
$ npm install express-generator --save
$ cat package.json
{
"name": "first_app_generator",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "ivanleoncz",
"license": "MIT",
"dependencies": {
"express-generator": "^4.16.0"
}
}
लेकिन जब आप उपयोग करने जा रहे हैं, तो अन्य उत्तरों के अनुसार -g
, आपको प्रदर्शन करते समय उपयोग करना होगा sudo
( यदि आपके उपयोगकर्ता के पास sudo विशेषाधिकार है: देखें / आदि / sudoers ) npm install express-generator -g
, लेकिन वास्तव में, यह एक अच्छा विचार नहीं है, संभवतः अनुमति की समस्या पैदा कर सकता है।
नोटिस
सिस्टम पथ पर स्क्रिप्ट उपलब्ध करने के लिए, विकल्प के express-generator
साथ स्थापित करने के लिए निर्देश हैं , लेकिन आप स्थानीय रूप से स्थापित स्क्रिप्ट का उपयोग कर सकते हैं, अगर आपके npm प्रोजेक्ट पर स्थित है :-g
express-cli.js
node_modules
$ ./node_modules/express-generator/bin/express-cli.js --view=pug myapp
यदि कोई संदेश जैसे / usr / bin / env: 'नोड': ऐसी कोई फ़ाइल या निर्देशिका दिखाई नहीं देती है, तो इंस्टॉल करें nodejs-legacy
(Debian / Ubuntu)
IMHO, का उपयोग करना -g
(भी उपयोग करना sudo
) hic sunt dracones की तरह है , यदि आप परिणामों के अनिश्चित हैं।
अधिक जानकारी के लिए: