Skip to content

NVM के साथ Node संस्करण स्विच करना

मूल उपयोग

NVM विभिन्न Node.js संस्करणों के बीच स्विच करने के लिए सरल लेकिन शक्तिशाली कमांड प्रदान करता है। सबसे मूल कमांड nvm use है, जो आपको एक स्थापित Node.js संस्करण को सक्रिय करने की अनुमति देता है।

उपलब्ध Node संस्करण देखना

स्विच करने से पहले, आप nvm ls कमांड का उपयोग करके देख सकते हैं कि कौन से Node.js संस्करण स्थापित हैं।

bash
nvm ls

nvm ls

संस्करण स्विच करने के विभिन्न तरीके

पूर्ण संस्करण संख्याओं का उपयोग करना

आप पूर्ण संस्करण संख्या निर्दिष्ट कर सकते हैं:

उदाहरण के लिए, Node.js v24.0.2 का उपयोग करने के लिए:

bash
$ nvm use 24.0.2
Now using node v24.0.2 (64-bit)

nvm ls

मुख्य संस्करण संख्याओं का उपयोग करना

बस मुख्य संस्करण संख्या निर्दिष्ट करें, और NVM उस मुख्य संस्करण के नवीनतम स्थापित संस्करण का उपयोग करेगा:

bash
$ nvm use 14
Using node v14.17.6 (npm v6.14.15)

उपनामों का उपयोग करना

NVM के पास कई अंतर्निहित विशेष उपनाम हैं:

bash
# नवीनतम स्थिर संस्करण का उपयोग करें
$ 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-बिट संस्करण का उपयोग करना निर्दिष्ट कर सकते हैं:

bash
$ nvm use 14.17.0 32
$ nvm use 16.14.0 64

.nvmrc फ़ाइलों के साथ स्वचालित संस्करण स्विचिंग

अपनी परियोजना की रूट निर्देशिका में Node.js संस्करण संख्या को इसकी सामग्री के रूप में .nvmrc नामक एक फ़ाइल बनाएं। फिर, बस nvm use कमांड (बिना तर्कों के) चलाएं, और NVM .nvmrc फ़ाइल से संस्करण पढ़ेगा और स्वचालित रूप से उस संस्करण पर स्विच करेगा।

  1. एक .nvmrc फ़ाइल बनाएं:
bash
$ echo "16.14.0" > .nvmrc
  1. परियोजना निर्देशिका में चलाएं:
bash
$ 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 संस्करण सेट कर सकते हैं जो हर बार नया टर्मिनल खोलने पर स्वचालित रूप से उपयोग किया जाएगा:

bash
$ nvm alias default 16.14.0
default -> 16.14.0 (-> v16.14.0)

इस तरह, भले ही आप nvm use कमांड न चलाएं, निर्दिष्ट संस्करण डिफ़ॉल्ट रूप से उपयोग किया जाएगा।

संस्करण स्विच करते समय विचार

वैश्विक पैकेज प्रबंधन

Node.js संस्करण स्विच करते समय, वैश्विक रूप से स्थापित पैकेज स्वचालित रूप से माइग्रेट नहीं होते हैं। प्रत्येक Node.js संस्करण का अपना अलग वैश्विक पैकेज सेट होता है।

यदि आप एक संस्करण से दूसरे संस्करण में सभी वैश्विक पैकेज कॉपी करना चाहते हैं, तो आप उपयोग कर सकते हैं:

bash
# v14.17.0 से v16.14.0 तक वैश्विक पैकेज कॉपी करें
$ nvm install 16.14.0 --reinstall-packages-from=14.17.0

अस्थायी रूप से दूसरे संस्करण का उपयोग करना

यदि आप वर्तमान सत्र के संस्करण को स्विच किए बिना एक अलग Node.js संस्करण के साथ एक कमांड चलाना चाहते हैं, तो आप nvm run का उपयोग कर सकते हैं:

bash
$ nvm run 14.17.0 app.js

वर्तमान संस्करण जांचना

यह जांचने के लिए कि वर्तमान में कौन सा Node.js संस्करण उपयोग किया जा रहा है:

bash
$ nvm current
v16.14.0

सामान्य समस्याएं और समाधान

स्विच करने के बाद पर्यावरण चर खो गए

समस्या: संस्करण स्विच करने के बाद, पहले सेट किए गए पर्यावरण चर जैसे NODE_PATH खो सकते हैं। समाधान: अपनी .bashrc या .zshrc फ़ाइल में पर्यावरण चर सेटिंग्स जोड़ें।

स्वचालित संस्करण स्विचिंग

यदि आप परियोजना निर्देशिका में प्रवेश करते समय .nvmrc फ़ाइल में निर्दिष्ट Node.js संस्करण पर स्वचालित रूप से स्विच करना चाहते हैं, तो आप निम्नलिखित को अपनी .bashrc या .zshrc में जोड़ सकते हैं:

Bash के लिए:

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 के लिए:

bash
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

सर्वोत्तम अभ्यास

  1. प्रत्येक परियोजना के लिए एक .nvmrc फ़ाइल बनाएं: यह सुनिश्चित करता है कि टीम के सदस्य एक ही Node.js संस्करण का उपयोग करें
  2. नियमित रूप से LTS संस्करणों में अपडेट करें: LTS संस्करण अधिक स्थिर होते हैं और उत्पादन वातावरण के लिए उपयुक्त होते हैं
  3. सेमेंटिक संस्करण का उपयोग करें: अनुकूलता समस्याओं से बचने के लिए .nvmrc फ़ाइलों में सटीक संस्करण निर्दिष्ट करें
  4. उपयुक्त डिफ़ॉल्ट संस्करण सेट करें: रोजमर्रा के विकास के लिए डिफ़ॉल्ट Node.js संस्करण सेट करें

nvm use कमांड पैरामीटर

पैरामीटरविवरण
<version>उपयोग करने के लिए Node.js संस्करण निर्दिष्ट करता है
nodeNode.js का नवीनतम संस्करण उपयोग करता है
lts/*नवीनतम दीर्घकालिक समर्थन संस्करण उपयोग करता है
lts/<name>विशिष्ट दीर्घकालिक समर्थन संस्करण उपयोग करता है
<version> <architecture>(केवल Windows) 32 या 64-बिट संस्करण का उपयोग करना निर्दिष्ट करता है

इन विधियों के साथ, आप विभिन्न परियोजनाओं की विकास आवश्यकताओं को पूरा करने के लिए विभिन्न Node.js संस्करणों के बीच आसानी से स्विच कर सकते हैं।

NVM - Windows, Linux, और macOS के लिए Node Version Manager