macOS पर ServBay के साथ प्रोजेक्ट-आधारित Node.js वर्शन सेटअप गाइड
ServBay डेवलपर्स के लिए डिज़ाइन किया गया एक शक्तिशाली लोकल वेब डिवेलपमेंट वातावरण है, जो Node.js सहित कई प्रोग्रामिंग भाषाओं, डेटाबेस और वेब सर्वरों का समग्र समाधान प्रदान करता है। ServBay की सबसे महत्वपूर्ण खूबियों में इसकी मल्टी-वर्शन Node.js को मूल रूप से सपोर्ट करने व उन्हें आसान व लचीले तरीके से मैनेज करने की क्षमता है। केवल एक फ़ाइल की मदद से आप हर प्रोजेक्ट के लिए उसकी जरूरत के मुताबिक Node.js वर्शन को निर्दिष्ट कर सकते हैं, और NVM, fnm जैसे बाहरी वर्शन प्रबंधकों या Docker कंटेनर की जरूरत नहीं रहेगी। इससे आपका वर्कफ़्लो सरल हो जाता है और ग्लोबल एनवायरनमेंट पॉल्यूशन और वर्शन कन्फ्लिक्ट की समस्या नहीं रहती।
यह दस्तावेज आपको बताएगा कि कैसे ServBay की .servbay.config
फ़ाइल के ज़रिए हर प्रोजेक्ट के लिए Node.js वर्शन नियंत्रण करें।
Node.js वर्शन मैनेजमेंट के लिए ServBay की .servbay.config
क्यों चुनें?
पारंपरिक Node.js वर्शन प्रबंधन विधियों जैसे NVM या मैन्युअल इंस्टॉलेशन में कई असुविधाएँ हैं:
- वैश्विक प्रदूषण व टकराव: सिस्टम पर ग्लोबली वर्शन इंस्टॉल करना या वर्शन मैनेजर से स्विच करना, विभिन्न प्रोजेक्ट्स के बीच डिपेंडेंसी कन्फ्लिक्ट का कारण बनता है।
- इंस्टॉलेशन व कम्पाइलेशन में समय: नया वर्शन इंस्टॉल करने या विशेष आर्किटेक्चर (जैसे x86_64 और arm64) पर स्विच करने के लिए मॉड्यूल का फिर से संकलन करना पड़ सकता है, जो जटिल और समयसाध्य है।
- Docker कंटेनर की अधिकता: केवल विशेष Node.js वर्शन के लिए भारी-भरकम Docker कंटेनर का उपयोग अनावश्यक है।
ServBay कई लोकप्रिय Node.js वर्शनों को पहले से इंस्टॉल्ड रखता है (वर्तमान में v12 से v23 तक सभी वर्शन, जिन्हें आप ServBay एप्लिकेशन के "Packages" सेक्शन में देख और प्रबंधित कर सकते हैं)। .servbay.config
के साथ इस्तेमाल करके, ये फ़ायदे मिलते हैं:
- तुरंत वर्शन स्विच: वर्शन पहले से इंस्टॉल है, यानी स्विचिंग लगभग तुरंत होती है।
- प्रोजेक्ट आइसोलेशन: कॉन्फ़िगरेशन केवल प्रोजेक्ट डायरेक्टरी में ही लागू होती है, असली परियोजना-स्तरीय अलगाव देता है।
- कोई वैश्विक प्रदूषण नहीं: सिस्टम के ग्लोबल एनवायरनमेंट को नहीं छेड़ता, सिस्टम क्लीन रहता है।
- ServBay के साथ गहरा एकीकरण: यह पूरी तरह ServBay डिवेलपमेंट वातावरण से जुड़ा है, PHP, डेटाबेस, वेब सर्वर आदि के साथ बिना दिक्कत काम करता है।
पूर्वापेक्षाएँ
शुरू करने से पहले सुनिश्चित करें:
- आपने macOS पर ServBay सफलतापूर्वक इंस्टॉल और रन किया है।
- ServBay एप्लिकेशन के "Packages" लिस्ट में आपके प्रोजेक्ट के लिए आवश्यक Node.js वर्शन इनेबल किया हुआ है।
- आपके पास ऐसा प्रोजेक्ट डायरेक्टरी है जिसमें आप विशिष्ट Node.js वर्शन कॉन्फ़िगर करना चाहते हैं।
मुख्य सिद्धांत
ServBay के इंटीग्रेटेड टर्मिनल में जब आप cd
कमांड से किसी डायरेक्टरी में जाते हैं, तो यह डायरेक्टरी और उसके सभी पैरेंट्स में .servbay.config
फ़ाइल खोजता है। जिस भी डायरेक्टरी में सबसे पहले यह फ़ाइल मिलती है (यानी सबसे नज़दीक की), ServBay उसे पढ़ता है और दी गई सेटिंग्स के अनुसार ENvironment Variables (जैसे PATH
) को अपडेट कर देता है, जिससे Node.js का वही वर्शन एक्टिवेट हो जाता है जो आपने .servbay.config
में लिखा है।
इससे आप जब अलग-अलग प्रोजेक्ट डायरेक्टरी में होंगे, हर बार अपने आप वही वर्शन लोड हो जाएगा — मैन्युअल वर्शन बदलने की कोई जरूरत नहीं।
सेटअप के चरण
प्रोजेक्ट के लिए स्वतंत्र Node.js वर्शन सेटअप करना आसान है, इन दो स्टेप्स का पालन करें:
चरण 1: .servbay.config
फ़ाइल बनाएं और एडिट करें
अपने प्रोजेक्ट के रूट (आमतौर पर जिसकी डायरेक्टरी में package.json
होती है) में .servbay.config
नाम की फ़ाइल बनाएं।
पसंदीदा टेक्स्ट एडिटर से यह लिखें:
bash
# इस प्रोजेक्ट के लिए Node.js का मुख्य वर्शन दर्ज करें
# ServBay इस वर्शन की उपलब्ध सबसे नई इंस्टॉल्ड वर्शन चुनेगा
NODE_VERSION=20
# वैकल्पिक: npm या pnpm के लिए मिरर सोर्स सेट करें ताकि पैकेज की स्पीड बढ़े
# चीन के यूज़रों के लिए घरेलू मिरर अनुशंसित है
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
NPM_CONFIG_REGISTRY=https://registry.npmmirror.com
# वैकल्पिक: npm/pnpm कैश डायरेक्टरी सेट करें
# सलाह दी जाती है कि कैश को ServBay के टेम्प में रखें, ताकि सिस्टम या यूज़र फोल्डर प्रदूषित न हो
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
कॉन्फ़िगरेशन विवरण:
NODE_VERSION
: आवश्यक — Node.js का प्रधान वर्शन डालें। उदाहरण:20
डालने पर ServBay का 20.x.x (सबसे नया) वर्शन एक्टिवेट होगा।YARN_CONFIG_REGISTRY
/NPM_CONFIG_REGISTRY
: वैकल्पिक — Yarn या npm का पैकेज रजिस्ट्रार मिरर। धीमे नेटवर्क या चीन के अंदर स्पीड के लिए फायदे में।NPM_CONFIG_CACHE
: वैकल्पिक — npm या pnpm का कैश फोल्डर; इसे ServBay के टेम्प में रखने से कैश केंद्रीकृत रहेगी, सिस्टम साफ़ रहेगा।
.servbay.config
को सेव और बंद करें।
चरण 2: ServBay टर्मिनल में Node.js वर्शन चेक करें
ServBay ऐप का मुख्य इंटरफेस खोलें।
"Terminal" बटन पर क्लिक करें, जिससे ServBay का इंटीग्रेटेड टर्मिनल खुलेगा।
टर्मिनल में अपने प्रोजेक्ट डायरेक्टरी में जाएं:
bashcd /Applications/ServBay/www/your-project-name
1(यहाँ
/Applications/ServBay/www/your-project-name
को अपने असली प्रोजेक्ट पथ से बदलें)Node.js वर्शन देखने के लिए कमांड चलाएँ:
bashnode -v
1आउटपुट में वह वर्शन दिखना चाहिए जो आपने
.servbay.config
में लिखा है (जैसेv20.x.x
)।आप
npm -v
(,pnpm -v
,yarn -v
) भी चला सकते हैं यह जांचने के लिए कि पैकेज मैनेजर भी सही Node.js वर्शन से संबंधित है या नहीं।
अब इस प्रोजेक्ट डायरेक्टरी के अंदर आप जब भी Node.js या npm/pnpm/yarn कमांड चलाएँगे, तो वही वर्शन इस्तेमाल होगा जो .servbay.config
में सेट है।
उदाहरण
मान लीजिए आपके पास दो प्रोजेक्ट हैं: project-a
के लिए Node.js v18 चाहिए और project-b
के लिए Node.js v20।
प्रोजेक्ट फोल्डर और कॉन्फ़िगरेशन फाइल बनाएं:
bash# ServBay के www फोल्डर में डेमो प्रोजेक्ट बनाएं mkdir /Applications/ServBay/www/project-a mkdir /Applications/ServBay/www/project-b # project-a में .servbay.config बनाकर Node.js v18 डालें echo "NODE_VERSION=18" > /Applications/ServBay/www/project-a/.servbay.config # project-b में .servbay.config बनाकर Node.js v20 डालें echo "NODE_VERSION=20" > /Applications/ServBay/www/project-b/.servbay.config
1
2
3
4
5
6
7
8
9ServBay टर्मिनल में स्विचिंग का परीक्षण करें:
ServBay टर्मिनल खोलें और निम्नलिखित चलाएँ:
bash# project-a डायरेक्टरी में जाएं cd /Applications/ServBay/www/project-a # Node.js वर्शन देखें node -v # अपेक्षित आउटपुट: v18.x.x # project-b में जाएं cd ../project-b # Node.js वर्शन देखें node -v # अपेक्षित आउटपुट: v20.x.x # फिर से project-a में वापस जाएं cd ../project-a # Node.js वर्शन देखें node -v # अपेक्षित आउटपुट: v18.x.x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
इस तरह ServBay आपके मौजूदा डायरेक्टरी के हिसाब से .servbay.config
में निर्धारित NODE_VERSION
को अपने आप एक्टिवेट कर देता है।
नीचे दिए चित्र में दिखाया गया है कि अलग-अलग प्रोजेक्ट डायरेक्टरी में बदलाव के साथ Node.js वर्शन कैसे अपने आप (ऑटोमैटिकली) बदल जाता है (.servbay.config
की वजह से)। (यह केवल उदाहरण है, वास्तविक UI अलग हो सकता है):
ध्यान देने योग्य बातें
.servbay.config
प्रोजेक्ट डायरेक्टरी या उसके पैरेंट में होनी चाहिए। ServBay सबसे नज़दीक वाली फ़ाइल का उपयोग करेगा।- सुनिश्चित करें कि आप ServBay इंटीग्रेटेड टर्मिनल में काम कर रहे हैं या ऐसे टर्मिनल में जहाँ ServBay का ENvironment कॉन्फ़िगर है।
NODE_VERSION
वही डालें जो ServBay के एप्लिकेशन में इंस्टॉल्ड और इनेबल हो; अगर नहीं है तो ServBay डिफ़ॉल्ट वर्शन या Node.js कमांड न मिलने पर फेल हो सकता है।.servbay.config
केवल उसी टर्मिनल सेशन और उसकी सब-प्रोसेसेज़ को प्रभावित करता है — सिस्टम के बाकी हिस्से या बैठकों पर कोई असर नहीं।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Q: अगर मेरी प्रोजेक्ट डायरेक्टरी में .servbay.config
नहीं है तो क्या होगा?
A: अगर ServBay को मौजूदा डायरेक्टरी या उसके पैरेंट में .servbay.config
नहीं मिलता, तो यह ServBay की ग्लोबल सेटिंग या डिफ़ॉल्ट Node.js वर्शन (जो ServBay में "Default" मार्क किया हो) का उपयोग करेगा।
Q: ServBay किन Node.js वर्शन को सपोर्ट करता है, यह कैसे देखें?
A: ServBay एप्लिकेशन खोलें, बाएँ मेनू में "Packages" सेक्शन पर जाएं। यहाँ आपको सभी उपलब्ध और इंस्टॉल्ड पैकेज (Node.js के विभिन्न वर्शन सहित) मिलेंगे; आप कोई भी वर्शन ऑन/ऑफ़ कर सकते हैं।
Q: क्या .servbay.config
की सेटिंग पूरी सिस्टम पर असर डालेगी?
A: नहीं। .servbay.config
केवल मौजूदा ServBay टर्मिनल सेशन या उस एनवायरनमेंट में चलने वाले प्रोसेस पर असर करता है। यह सिस्टम के वैश्विक ENvironment को नहीं बदलता और बाहर चलने वाले प्रोग्राम को प्रभावित नहीं करता। यही प्रोजेक्ट आइसोलेशन का मूल तरीका है।
Q: क्या मैं NODE_VERSION
के अलावा अन्य चीजें भी .servbay.config
में सेट कर सकता हूँ?
A: हाँ, .servbay.config
ServBay की प्रोजेक्ट-स्तरीय ENvironment सेटिंग के लिए सामान्य मैकेनिज्म है। Node.js के अलावा अन्य ENvironment वेरिएबल्स भी यहाँ सेट की जा सकती हैं, जो सिर्फ उसी प्रोजेक्ट के टर्मिनल में लागू होंगी। और क्या-क्या सपोर्टेड है, यह ServBay के वर्शन के साथ बढ़ सकता है, लेकिन ENvironment वेरिएबल सेट करना इसका मूल उद्देश्य है।
सारांश
ServBay की .servbay.config
की मदद से आप हर लोकल प्रोजेक्ट के लिए स्वतंत्र रूप से विशिष्ट Node.js वर्शन सेट और प्रबंधित कर सकते हैं। यह पारंपरिक वर्शन मैनेजर या कंटेनर समाधानों से अधिक हल्का, आसान और लचीला है, तथा ServBay के इंटीग्रेटेड डिवेलपमेंट वातावरण में बेहतरीन तरीके से शामिल हो जाता है। अपने प्रोजेक्ट में अभी .servbay.config
इस्तेमाल करें और ServBay की सुविधाजनोंक शक्ति का अनुभव लें!