Exercism के अभ्यास अपनी मशीन पर हल करने के लिए WebAssembly को लोकली इंस्टॉल करना सीखिए।
इस ट्रैक में WebAssembly के लिए रनटाइम देने का काम हर जगह Node.js से होता है। इसका मतलब है कि हम मानकर चलते हैं कि आपके कंप्यूटर पर JavaScript का कोई भी कोड Node.js की मदद से ही चलेगा।
बहुत-से कंप्यूटरों में Node.js पहले से इंस्टॉल मिलता है, या वह पहले इंस्टॉल किया गया हो सकता है, या किसी डिपेंडेंसी के रूप में इंस्टॉल हो गया हो सकता है। इसलिए कुछ भी करने से पहले यह जाँच लेना ठीक रहेगा कि यह पहले से इंस्टॉल है या नहीं:
Terminal, cmd, Powershell, bash, ...)node -v चलाइएअगर Node.js इंस्टॉल है, तो एक संस्करण दिखाई देगा।
इस संस्करण को लिख लीजिए।
अगर Node.js इंस्टॉल नहीं है, तो एक एरर दिखाई देगी।
आम तौर पर कुछ ऐसी: 'node' is not recognised.
Node.js की वेबसाइट पर जाइए।
वह दो संस्करण दिखाएगी (बशर्ते वह आपका OS पहचान ले। वरना पहले अपना OS चुनिए)।
अगर आपके node -v का संस्करण इनमें से किसी एक से मेल खाता है, तो सब ठीक है।
अगर नहीं खाता, तो हमारा सुझाव है कि आप Node.js LTS इस्तेमाल कीजिए।
अगर आपको चिंता है कि अपग्रेड करने से आपके सिस्टम पर कुछ टूट सकता है, तो आप यह मानकर आगे बढ़ सकते हैं कि सब ठीक है;
हालाँकि कुछ अनपेक्षित होने पर हम शायद सपोर्ट न दे पाएँ।
Node.js इंस्टॉल करने के कुछ तरीके हैं:
दोनों तरीके Windows, macOS और Linux पर काम करते हैं। अगर आपको समझ नहीं आ रहा कि क्या करें, तो इंस्टॉलर इस्तेमाल करना सबसे आसान है।
इंस्टॉलर का काम पूरा हो जाने के बाद, या पैकेज मैनेजर के काम पूरा कर लेने के बाद, या बाइनरी कॉपी हो जाने और निर्देशों का पालन कर लेने के बाद, यह जाँच लेना अच्छा है कि सब कुछ ठीक है।
Terminal, cmd, Powershell, bash, ...)node -v चलाइएसंस्करण वही होना चाहिए जो वेबसाइट पर दिख रहा है।
ध्यान दें: एक नई टर्मिनल विंडो खोलना ज़रूरी है। इंस्टॉलेशन पूरा होने के बाद खुली हुई टर्मिनल विंडो शायद रीफ्रेश न हुई हों। इसका मतलब है कि खुली हुई टर्मिनल विंडो को यह पता नहीं चलता कि कोई नया प्रोग्राम इंस्टॉल हुआ है।
मदद:
'node' is not recognisedअगर आपने आधिकारिक इंस्टॉलर इस्तेमाल किया है, तो आपका
PATHअपने आप सेट हो जाना चाहिए था। लेकिन अगर आपकी शेल को ग्लोबली इंस्टॉल किए गए मॉड्यूल ढूँढने में दिक्कत हो रही है, या आपने Node.js को सोर्स से बनाया है, तो अपनेPATHमेंnpmबाइनरी जोड़ दीजिए।macOS और Linux पर आप यह काम नीचे दी गई पंक्ति को
~/.bash_profileया~/.zshrcमें जोड़कर कर सकते हैं:export PATH=/usr/local/share/npm/bin:$PATHWindows पर स्टार्ट मेन्यू खोलिए और "environment variables" खोजिए। आपको
PATHएंट्री एडिट करके उसमेंnpmबाइनरी का रास्ता जोड़ना होगा। आम तौर पर येC:\Program Files\nodejsमें मिलती हैं। अगर आप यहाँ अपनेFile Explorerसे जाते हैं, तो आपकोnode.exe,npm.batऔरnpx.batमिलेंगी।खुली हुई सारी टर्मिनल बंद कीजिए और एक नई टर्मिनल खोलिए।
अपने OS के लिए Exercism CLI डाउनलोड करने के लिए इन निर्देशों का पालन कीजिए।
CLI सेट अप और कॉन्फ़िगर हो जाने के बाद, पहला अभ्यास डाउनलोड कीजिए - hello-world:
exercism download --exercise=hello-world --track=wasm
इसके बाद हर अभ्यास में टेस्ट चलाने के लिए कुछ टूल चाहिए। इन्हें हर अभ्यास की डायरेक्टरी में यह कमांड चलाकर इंस्टॉल किया जा सकता है:
npm install
मदद:
'<package>' is missing / cannot be foundअगर यह आपको अपने अभ्यास को अपग्रेड करने के बाद दिखता है, तो npm 7 में आपका स्वागत है। इसे ठीक करने के लिए
node_modulesऔरpackage-lock.jsonडिलीट कीजिए और कमांड फिर से चलाइए।
अगर आपको डिस्क स्पेस की चिंता है और एक और टूल इंस्टॉल करने में कोई दिक्कत नहीं है, तो pnpm पर एक नज़र डालिए, जो यह सुनिश्चित करता है कि हर पैकेज के हर संस्करण की सिर्फ एक ही प्रति डिस्क पर इंस्टॉल हो।
ऐसे में npm install की जगह pnpm install चलाइए, और सब कुछ अपेक्षा के अनुसार काम करेगा।
लेकिन npm है क्या, और यह काम क्यों करता है?
JavaScript ट्रैक पूरा करने के लिए आपको यह जानकारी ज़रूरी नहीं है, लेकिन अगर आप जानने के इच्छुक हैं कि अभी क्या हुआ, तो अगले पैराग्राफ आपके लिए हैं:
यह इसलिए काम करता है क्योंकि
npmएक पैकेज मैनेजर है जो Node.js के साथ ही बंडल होकर आता है, और Node.js ऊपर बताए गए चरणों के अनुसार इंस्टॉल किया गया है।npmकमांड एकpackage.jsonफाइल ढूँढती है, जो हर अभ्यास फोल्डर में मौजूद होती है। इस फाइल में ऊपर लिखी"dependencies"की सूची होती है, जिन्हेंnpmडाउनलोड करकेnode_modulesफोल्डर में रख देता है।
package.jsonकी स्क्रिप्टें लोकलnode_modulesफोल्डर की बाइनरी इस्तेमाल करती हैं, और इन्हीं स्क्रिप्ट से टेस्ट चलते हैं, जैसाexerciseके विवरण में लिखा है।