NVM के साथ Node संस्करण स्विच करना
मूल उपयोग
NVM विभिन्न Node.js संस्करणों के बीच स्विच करने के लिए सरल लेकिन शक्तिशाली कमांड प्रदान करता है। सबसे मूल कमांड nvm use है, जो आपको एक स्थापित Node.js संस्करण को सक्रिय करने की अनुमति देता है।
उपलब्ध Node संस्करण देखना
स्विच करने से पहले, आप nvm ls कमांड का उपयोग करके देख सकते हैं कि कौन से Node.js संस्करण स्थापित हैं।
nvm ls
संस्करण स्विच करने के विभिन्न तरीके
पूर्ण संस्करण संख्याओं का उपयोग करना
आप पूर्ण संस्करण संख्या निर्दिष्ट कर सकते हैं:
उदाहरण के लिए, Node.js v24.0.2 का उपयोग करने के लिए:
$ nvm use 24.0.2
Now using node v24.0.2 (64-bit)
मुख्य संस्करण संख्याओं का उपयोग करना
बस मुख्य संस्करण संख्या निर्दिष्ट करें, और NVM उस मुख्य संस्करण के नवीनतम स्थापित संस्करण का उपयोग करेगा:
$ nvm use 14
Using node v14.17.6 (npm v6.14.15)उपनामों का उपयोग करना
NVM के पास कई अंतर्निहित विशेष उपनाम हैं:
# नवीनतम स्थिर संस्करण का उपयोग करें
$ nvm use node
Now using node v16.14.0 (npm v8.3.1)
# नवीनतम LTS संस्करण का उपयोग करें
$ nvm use lts/*
Now using node v16.13.2 (npm v8.1.2)
# विशिष्ट LTS संस्करण का उपयोग करें
$ nvm use lts/gallium
Now using node v16.13.2 (npm v8.1.2)आर्किटेक्चर निर्दिष्ट करना (केवल Windows)
Windows सिस्टम पर, आप 32-बिट या 64-बिट संस्करण का उपयोग करना निर्दिष्ट कर सकते हैं:
$ nvm use 14.17.0 32
$ nvm use 16.14.0 64.nvmrc फ़ाइलों के साथ स्वचालित संस्करण स्विचिंग
अपनी परियोजना की रूट निर्देशिका में Node.js संस्करण संख्या को इसकी सामग्री के रूप में .nvmrc नामक एक फ़ाइल बनाएं। फिर, बस nvm use कमांड (बिना तर्कों के) चलाएं, और NVM .nvmrc फ़ाइल से संस्करण पढ़ेगा और स्वचालित रूप से उस संस्करण पर स्विच करेगा।
- एक
.nvmrcफ़ाइल बनाएं:
$ echo "16.14.0" > .nvmrc- परियोजना निर्देशिका में चलाएं:
$ nvm use
Found '/path/to/project/.nvmrc' with version <16.14.0>
Now using node v16.14.0 (npm v8.3.1).nvmrc फ़ाइल सामग्री के उदाहरण:
16.14.0- सटीक संस्करण16- मुख्य संस्करण का नवीनतम संस्करणlts/*- नवीनतम LTS संस्करणnode- नवीनतम Node.js संस्करण
डिफ़ॉल्ट Node.js संस्करण सेट करना
आप एक डिफ़ॉल्ट Node.js संस्करण सेट कर सकते हैं जो हर बार नया टर्मिनल खोलने पर स्वचालित रूप से उपयोग किया जाएगा:
$ nvm alias default 16.14.0
default -> 16.14.0 (-> v16.14.0)इस तरह, भले ही आप nvm use कमांड न चलाएं, निर्दिष्ट संस्करण डिफ़ॉल्ट रूप से उपयोग किया जाएगा।
संस्करण स्विच करते समय विचार
वैश्विक पैकेज प्रबंधन
Node.js संस्करण स्विच करते समय, वैश्विक रूप से स्थापित पैकेज स्वचालित रूप से माइग्रेट नहीं होते हैं। प्रत्येक Node.js संस्करण का अपना अलग वैश्विक पैकेज सेट होता है।
यदि आप एक संस्करण से दूसरे संस्करण में सभी वैश्विक पैकेज कॉपी करना चाहते हैं, तो आप उपयोग कर सकते हैं:
# v14.17.0 से v16.14.0 तक वैश्विक पैकेज कॉपी करें
$ nvm install 16.14.0 --reinstall-packages-from=14.17.0अस्थायी रूप से दूसरे संस्करण का उपयोग करना
यदि आप वर्तमान सत्र के संस्करण को स्विच किए बिना एक अलग Node.js संस्करण के साथ एक कमांड चलाना चाहते हैं, तो आप nvm run का उपयोग कर सकते हैं:
$ nvm run 14.17.0 app.jsवर्तमान संस्करण जांचना
यह जांचने के लिए कि वर्तमान में कौन सा Node.js संस्करण उपयोग किया जा रहा है:
$ nvm current
v16.14.0सामान्य समस्याएं और समाधान
स्विच करने के बाद पर्यावरण चर खो गए
समस्या: संस्करण स्विच करने के बाद, पहले सेट किए गए पर्यावरण चर जैसे NODE_PATH खो सकते हैं। समाधान: अपनी .bashrc या .zshrc फ़ाइल में पर्यावरण चर सेटिंग्स जोड़ें।
स्वचालित संस्करण स्विचिंग
यदि आप परियोजना निर्देशिका में प्रवेश करते समय .nvmrc फ़ाइल में निर्दिष्ट Node.js संस्करण पर स्वचालित रूप से स्विच करना चाहते हैं, तो आप निम्नलिखित को अपनी .bashrc या .zshrc में जोड़ सकते हैं:
Bash के लिए:
cdnvm() {
command cd "$@" || return $?
nvm_path="$(nvm_find_up .nvmrc | tr -d '\n')"
if [ -e "$nvm_path/.nvmrc" ]; then
declare default_version;
default_version="$(nvm version default)"
declare nvmrc_version;
nvmrc_version="$(nvm version "$(cat "$nvm_path/.nvmrc")")"
if [ "$nvmrc_version" = "N/A" ]; then
echo "Warning: $(cat "$nvm_path/.nvmrc") version not installed"
elif [ "$nvmrc_version" != "$default_version" ]; then
nvm use > /dev/null
fi
fi
}
alias cd='cdnvm'Zsh के लिए:
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrcसर्वोत्तम अभ्यास
- प्रत्येक परियोजना के लिए एक
.nvmrcफ़ाइल बनाएं: यह सुनिश्चित करता है कि टीम के सदस्य एक ही Node.js संस्करण का उपयोग करें - नियमित रूप से LTS संस्करणों में अपडेट करें: LTS संस्करण अधिक स्थिर होते हैं और उत्पादन वातावरण के लिए उपयुक्त होते हैं
- सेमेंटिक संस्करण का उपयोग करें: अनुकूलता समस्याओं से बचने के लिए
.nvmrcफ़ाइलों में सटीक संस्करण निर्दिष्ट करें - उपयुक्त डिफ़ॉल्ट संस्करण सेट करें: रोजमर्रा के विकास के लिए डिफ़ॉल्ट Node.js संस्करण सेट करें
nvm use कमांड पैरामीटर
| पैरामीटर | विवरण |
|---|---|
<version> | उपयोग करने के लिए Node.js संस्करण निर्दिष्ट करता है |
node | Node.js का नवीनतम संस्करण उपयोग करता है |
lts/* | नवीनतम दीर्घकालिक समर्थन संस्करण उपयोग करता है |
lts/<name> | विशिष्ट दीर्घकालिक समर्थन संस्करण उपयोग करता है |
<version> <architecture> | (केवल Windows) 32 या 64-बिट संस्करण का उपयोग करना निर्दिष्ट करता है |
इन विधियों के साथ, आप विभिन्न परियोजनाओं की विकास आवश्यकताओं को पूरा करने के लिए विभिन्न Node.js संस्करणों के बीच आसानी से स्विच कर सकते हैं।