मैंने विकी मॉड्यूल पेज खोजा है, लेकिन मुझे virtualenv (अजगर) या आरवीएम के समान कुछ भी नहीं मिल रहा है।
यहाँ कोई भी अपने स्वयं के नोड में नोड्स को अलग करता है? मैं वास्तव में npm सिस्टम-वाइड स्थापित करना पसंद नहीं करता।
मैंने विकी मॉड्यूल पेज खोजा है, लेकिन मुझे virtualenv (अजगर) या आरवीएम के समान कुछ भी नहीं मिल रहा है।
यहाँ कोई भी अपने स्वयं के नोड में नोड्स को अलग करता है? मैं वास्तव में npm सिस्टम-वाइड स्थापित करना पसंद नहीं करता।
जवाबों:
यदि सिस्टम वाइड npm संकुल आपका मुख्य मुद्दा है, तो शायद npm के साथ बहुत ही शांत 'बंडल' कमांड का उपयोग करने पर विचार करें। यह बर्फ़ीली रत्नों के करीब है या rvm के बजाय रेल में बंडलर का उपयोग कर रहा है।
यह सुपर आसान है। बस एक package.json फ़ाइल बनाएँ:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
और फिर चलाएं:
npm bundle vendor
या यदि आपका npm संस्करण है> = 1.0 रन:
npm install
विक्रेता निर्देशिका में जमा करने के लिए। और फिर उपयोग करें:
require.paths.unshift('./vendor');
npm install
प्रतिस्थापित npm bundle
, मुझे विश्वास है।
nodeenv - Node.js के लिए आभासी पर्यावरण (एनालॉग virtualenv )
node.js
पर्यावरण पायथन पर्यावरण के साथ-साथ सक्रिय हो। देख लो nodeenv -p
।
कुछ नोड संस्करण प्रबंधन प्रणाली भी हैं जो मदद कर सकती हैं।
Nave https://github.com/isaacs/nave देखें
NVM का उपयोग https://github.com/creationix/nvm पर भी किया जा सकता है
एक भी है जिसे n https://github.com/visionmedia/n कहा जाता है
nvm
या देख रहे n
हैं तो स्वचालित स्विचिंग चाहते हैं, तो देखें avn
: github.com/wbyoung/avn
bxjx का उत्तर वैचारिक रूप से सटीक है। हालाँकि, कृपया ध्यान दें कि बंडल कमांड अब डायरेक्टरी नहीं लेता है। यह हमेशाnode_modules
फ़ोल्डर में पैकेज को छोड़ देता है , ताकि npm को पता चल सके कि उन्हें बाद में कहां ढूंढना है (और दोहरे-स्थापित निर्भरता से बच सकते हैं)।
किसी भी समाधान में संभवतः npm और nave "सिस्टम-वाइड" स्थापित करना शामिल होगा (जो आपके PATH
, जो ~
कहीं हो सकता है), लेकिन उसके बाद ही वर्चुअल वातावरण में आपकी विशिष्ट निर्भरता स्थापित कर रहा है।
मैंने गीथूब मुद्दे पर अधिक अच्छी तरह से जवाब दिया ।
tl; dr: उपयोग का मामला वैध और सहायक है, और जबकि यह ज्यादातर वहां है, यह उतना अच्छा नहीं है जितना कि यह हो सकता है। हमें इस पर विचार करना चाहिए और इसे सही करना चाहिए।
आपको हमेशा विश्व स्तर पर निर्भरता स्थापित करने की आवश्यकता नहीं है। आमतौर पर इसकी अनुशंसा की जाती है क्योंकि तब आप आदेशों का उपयोग कर सकते हैं npm संकुल प्रदान करता है, लेकिन यदि आप इसे स्थानीय रूप से ( node_modules
) निर्देशिका में स्थापित करते हैं , तो आप इन आदेशों का उपयोग भी कर सकते हैं, वे केवल node_modules/.bin/
निर्देशिका में हवा देते हैं , इसलिए आपको टाइप करना होगा node_modules/.bin/<command>
, जो कष्टप्रद है, लेकिन आप निश्चित रूप से इस मार्ग को अपने PATH
पर्यावरण चर में जोड़ सकते हैं :
export PATH=node_modules/.bin:$PATH
तब आप बस टाइप कर सकते हैं <command>
और यह काम करता है!
वास्तव में एक npm कमांड है जो .bin
डायरेक्टरी के लिए एक निरपेक्ष पथ देता है :
$ npm bin
/path/to/node_modules/.bin
यह कमांड तब भी काम करता है जब आप परियोजना के एक उपनिर्देशिका में होते हैं, यह पहली node_modules/.bin
निर्देशिका को यह माता-पिता की निर्देशिकाओं में पाता है।
आप अपने .bashrc
आप में .bin/
निर्देशिका जोड़ने के लिए अपने आप में इस उपनाम को जोड़ सकते हैं PATH
:
alias nodebin='export PATH=$(npm bin):$PATH'
इसलिए जब आप किसी ऐसी परियोजना की node_modules/
निर्देशिका में होते हैं, जिसमें निर्देशिका में निर्देशिका होती है, nodebin
तो आप टाइप कर सकते हैं और फिर आप निर्देशिका में मौजूद सभी कमांड का उपयोग कर सकते हैं .bin/
!
एक बेहतर तरीका है:
एक Python Virtualenv में Node.js और npm स्थापित करना
अब मैं वैश्विक बिन पर्यावरण को गड़बड़ किए बिना नोड टूल्स का उपयोग कर सकता हूं
आप की तरह यह आसान है, मैं वास्तव में visionmedia की सलाह देते हैं तो एन , आसान नहीं हो सकता!
npm install
करते हैं।