का उपयोग करते समय वैश्विक एनपीएम पैकेज प्रबंधित करना मुझे लगता है कि मुझे एनएमवी डीआईआर में अलग-अलग वैश्विक एनपीएम पैकेज स्थापित करने में सक्षम होना चाहिए।एनवीएम
$ nvm install v0.11
######################################################################## 100.0%
Now using node v0.11.16
$ node-inspector
Node Inspector v0.9.2
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
मेरे नोड-इंस्पेक्टर ने काम करना बंद कर दिया!
$ npm update -g
<bunch of updating, succeeds>
शायद यह मदद करेगा ... नहीं! अभी भी टूटा। श्वास। शायद ... नोड-इंस्पेक्टर v0.11.16 (जो एनवीएम पर चल रहा है) के लिए काम नहीं करता है। शायद। कौन जाने। खैर, निरस्त करने का समय।
$ nvm use system
Now using system version of node: v0.10.32.
$ node-inspector --version
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
Referenced from: /usr/local/lib/node_modules/node-inspector/node_modules/ws/build/Release/bufferutil.node
Expected in: dynamic lookup
dyld: Symbol not found: _node_module_register
Referenced from: /usr/local/lib/node_modules/node-inspector/node_modules/ws/build/Release/bufferutil.node
Expected in: dynamic lookup
[1] 93845 trace trap node-inspector --version
ठीक है .... अच्छा .... चुप।
तो वैसे भी, इस बिंदु पर मैं ठीक करने के निर्देशों की तलाश नहीं कर रहा हूं। मैं अच्छी तरह से हो सकता है। यहां मुख्य प्रश्न यह है कि मुझे इन एनपीएम पैकेजों को प्रबंधित करने के लिए क्या करना है जो कमांड लाइन टूल्स के लिए हैं और जिनके पास विशिष्ट संस्करणों से जुड़े घटकों को संकलित किया गया है? मैं समझता हूं कि जब मैं एनवीएम स्थापित करता हूं और इसे अपने सिस्टम में शामिल करता हूं, तो मेरा खोल $PATH
स्विच करने में सक्षम होता है ताकि जब मैं node
और npm
पर कॉल करूं, तो वे उठाए गए नोड संस्करण का उपयोग करके भाग लेंगे।
लेकिन ऐसा लगता है जैसे कि वैश्विक NPM संकुल /usr/local/bin/
में कहीं डाल जाते हैं और वे सिर्फ वहाँ फंस रहे हैं और पालन करने के लिए कि मैं क्या nvm
के साथ क्या असमर्थ हो जाते हैं - यह मामला नहीं हो सकता है "सैद्धांतिक रूप से अच्छी तरह से करने के लिए व्यवहार नोड पैकेज ", अभ्यास में (कम से कम node-inspector
जैसे कुछ के लिए) यह सुनिश्चित करता है कि इसे स्थापित करने वाले नोड का उपयोग करके निष्पादित नहीं होने पर यह स्पष्ट रूप से विस्फोट करने के लिए उत्तरदायी है।
इस बीच में मैं, हर बार है कि मैं चाहता हूँ nvm
उपयोग कर एक नया नोड संस्करण के तहत है कि पैकेज को चलाने के लिए मूल रूप से npm remove -g <package> && npm install -g <package>
किसी भी पैकेज है कि मुझे लगता है इस तरह से अजीब व्यवहार किया है।
यह गलत लगता है।
क्या यह गलत है?
और, यह एक अनुशासनिक होगा कि हर बार जब मैं नोड के एक अलग संस्करण के साथ कुछ दिए गए node.js ऐप का परीक्षण करने के लिए एनवीएम शक्तियों का आह्वान करता हूं, तो मुझे इसे पूरी तरह से नई निर्देशिका में क्लोन करके और इसे शुरू करना चाहिए ताजा, क्योंकि अन्यथा मुझे शायद पता चलेगा कि मुझे इसे rm -rf node_modules && npm install
की आवश्यकता होगी ताकि इसे बिल्कुल काम कर सकें ...
मैं साफ आया हूँ ...'नोड-इंस्पेक्टर' "काम नहीं कर रहा था" संभवतः क्योंकि मुझे फ़ायरवॉल प्रॉम्प्ट नहीं आया था। फिर भी यह मेरे प्रश्न को अमान्य नहीं करता है। मुझे अभी भी डाइल्ड बग इत्यादि का अनुभव है और मुझे पैकेजों के हटाने और पुनर्स्थापित करने (जो पुन: संकलन आदि) के बजाय कठोर उपाय करने की आवश्यकता है। मैं nvm नोड संस्करण से संबंधित पथ का उपयोग करने के लिए npm -g को कॉन्फ़िगर करके यह अनावश्यक बनाना चाहता हूं। क्या यह संभव है? –