मैं सामान्य से अधिक सतर्क रहा हूं क्योंकि मैं npm
अतीत के व्यवहार से भ्रमित हो गया हूं ।
मैं एक पर हूँ MAC और नोड के माध्यम से स्थापित किया है brew install node
। Js ।
अब जब मैं jslint.js
कमांड-लाइन पर चलना चाहता हूं , तो कमांड के रूप में jslint
मुझे लगता है कि इसे पूरा करने के लिए विहित तरीका है sudo npm install -g jslint
जो इस तरह से सफलतापूर्वक चलाया गया है:
$ sudo npm install -g jslint
npm http GET https://registry.npmjs.org/jslint
npm http 200 https://registry.npmjs.org/jslint
npm http GET https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz
npm http 200 https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz
npm http GET https://registry.npmjs.org/nopt
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http GET https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-l.0.4.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
/usr/local/share/npm/bin/jslint -> /usr/local/share/npm/lib/node_modules/jslint/
bin/jslint.js
jslint@0.1.9 /usr/local/share/npm/lib/node_modules/jslint
└── nopt@1.0.10 (abbrev@1.0.4)
इसके बाद
$ jslint ply.js
zsh: command not found: jslint
/usr/local/share/npm/bin
मेरे में नहीं होने के कारण $PATH
।
1) पथ के लिए brew
वैश्विक npm
bin
पथ स्थापित क्यों नहीं किया ? शायद यह किया था, लेकिन कुछ zsh
करता है यह गड़बड़ कर रहा है। मैं कहाँ मिल सकता है?
2) क्या मुझे ऐसा करना चाहिए? ( मेरे तल पर :/usr/local/share/npm/bin
निर्यात $PATH
में संलग्न ~/.zshrc
)
ऐसा लगता है कि यह ऐसा करने का सही तरीका नहीं है क्योंकि अगर मैं बाद में कुछ और स्थापित करता हूं (होमब्रे या कुछ का उपयोग करके) तो मुझे पथ को सेट करने के लिए इसे अपने ज़ीएस स्टार्टअप स्क्रिप्ट में संलग्न करने की आवश्यकता होगी। मुझे लगता है कि इस विशेष उदाहरण में यह सिर्फ npm install -g
"उचित" स्थान ( /usr/local/bin
शायद की तरह ) में सही सिमिलिंक नहीं बनाने की बात है ।
मुझे लगता है कि मैं जो भी करूंगा, वह मैन्युअल रूप से /usr/local/bin
किसी भी प्रोग्राम के लिए सिम्बलिंक्स का निर्माण करेगा जिसमें मुझे परेशानी होती है और यह मेरे उद्देश्यों के लिए पर्याप्त होना चाहिए।
संपादित करें : मैं इसे 2019 में अपडेट कर रहा हूं, क्योंकि यह पुराना प्रश्न लोकप्रिय है, लेकिन अब मेरे व्यक्तिगत वर्कफ़्लो के संदर्भ में पुराना है और यह भी कि नोड स्थापित करने और इसकी विभिन्न निर्भरताओं को प्रबंधित करने के बारे में सबसे अच्छा कैसे जाना जाता है।
मेरा व्यक्तिगत वर्कफ़्लो अब नोडज से प्राप्त इंस्टॉलर का उपयोग करने के लिए है। सिस्टम पर नोड स्थापित करने के लिए। मैं वास्तव में होमब्रेव पैकेज की तुलना में इस पर अधिक भरोसा करता हूं, क्योंकि यह सबसे अच्छा जानता है कि फाइलों को कैसे प्रबंधित किया जाए। यदि आप अपने सिस्टम नोड को 8.10 से 10.15 में बदलना चाहते हैं, चाहे मैक या विंडोज पर, अपने ओएस के लिए केवल 10.15 के लिए नोडज से इंस्टॉलर डाउनलोड करें। Homebrew के माध्यम से स्थापित नोड को अपग्रेड करने का प्रयास हमेशा मेरे अनुभव में एक अधिक कठिन दृष्टिकोण साबित हुआ है।
इसके अलावा, सबसे बड़ी बात यह है कि ऊपर दिए गए jslint उदाहरण में मेरे npm इंस्टॉलेशन में दिखाए गए sudo का उपयोग अत्यधिक हतोत्साहित करता है; मैं पूरी तरह से निश्चित हूं कि होमब्रे पैकेज को कभी भी सुपरयूज़र का उपयोग करके किसी भी तरह से स्थापित या इंटरैक्ट नहीं किया जाना चाहिए। यह आवश्यक नहीं होना चाहिए, और अनुमति दर्ज करने के लिए नेतृत्व करेंगे सिरदर्द!
इसके अलावा मैं jslint पर ESLint की सलाह देता हूं, और वर्षों में jslint का उपयोग नहीं किया है।