Skip to content

nvmrc कॉन्फ़िगर करना

परिचय

कई परियोजनाओं को विकसित करते समय, प्रत्येक परियोजना को एक अलग Node.js संस्करण की आवश्यकता हो सकती है। ऐसे मामलों में, हमें टर्मिनल में nvm install और nvm use कमांड निष्पादित करके प्रत्येक परियोजना के लिए Node.js संस्करण निर्दिष्ट करने की आवश्यकता होती है ताकि संस्करण स्थापित और स्विच किए जा सकें।

हालाँकि, हर बार टर्मिनल में मैन्युअल रूप से कमांड निष्पादित करना बोझिल हो जाता है, विशेष रूप से जैसे-जैसे परियोजनाओं की संख्या बढ़ती है। संस्करण स्विच करना भूल जाना या गलत संस्करण पर स्विच करना आसान है, जिससे परियोजनाएं शुरू करने में विफल हो सकती हैं या रनटाइम के दौरान त्रुटियां आ सकती हैं।

यहीं पर हमें Node.js संस्करणों को प्रबंधित करने और उनके बीच स्वचालित रूप से स्विच करने की एक विधि की आवश्यकता है, और यहीं .nvmrc काम में आता है।

.nvmrc क्या है?

ऊपर दिए गए स्पष्टीकरण से, आप समझ सकते हैं कि .nvmrc फ़ाइल का उपयोग हमारी परियोजना के लिए Node.js संस्करण को प्रबंधित करने के लिए किया जाता है। यह फ़ाइल बहुत सरल है: इसमें केवल एक Node.js संस्करण का प्रतिनिधित्व करने वाला पाठ होता है जिसे nvm पहचान सकता है, जैसे v18.12.0

.nvmrc फ़ाइल का उपयोग कैसे करें?

आप एक .nvmrc फ़ाइल बना सकते हैं जिसकी सामग्री एक Node.js संस्करण संख्या या अन्य पाठ है जिसे nvm समझ सकता है। विवरण के लिए, आप टर्मिनल में nvm --help टाइप कर सकते हैं।

.nvmrc फ़ाइल के साथ, जब आप टर्मिनल में nvm use, nvm install, nvm exec, nvm run, और nvm which जैसे कमांड निष्पादित करते हैं बिना संस्करण निर्दिष्ट किए, तो .nvmrc फ़ाइल में निर्दिष्ट संस्करण का उपयोग किया जाएगा।

.nvmrc फ़ाइल बनाना

उदाहरण के लिए, वर्तमान निर्देशिका में, nvm को संस्करण 18.12 का नवीनतम रिलीज़, नवीनतम LTS संस्करण, या नवीनतम Node.js संस्करण निर्दिष्ट करने के लिए, आप .nvmrc फ़ाइल बनाने के लिए echo कमांड का उपयोग कर सकते हैं:

bash
$ echo "18.12" > .nvmrc
# नवीनतम LTS संस्करण पर सेट करें
$ echo "lts/*" > .nvmrc
# नवीनतम संस्करण पर सेट करें
$ echo "node" > .nvmrc

nvm use जैसे कमांड वर्तमान निर्देशिका से ऊपर की ओर निर्देशिका संरचना को ट्रैवर्स करेंगे .nvmrc फ़ाइल की तलाश में। इसका मतलब है कि .nvmrc फ़ाइल वाली निर्देशिका के किसी भी उपनिर्देशिका में nvm use जैसे कमांड चलाना अभी भी उस .nvmrc फ़ाइल का उपयोग करेगा।

.nvmrc फ़ाइल में nvm --help में सूचीबद्ध के अनुरूप एक <version> होना चाहिए, उसके बाद एक नई पंक्ति होनी चाहिए। ट्रेलिंग रिक्त स्थान की अनुमति नहीं है, और एक ट्रेलिंग नई पंक्ति आवश्यक है।

नीचे दी गई छवि के अनुसार, v14.21.3 के बाद कोई रिक्त स्थान नहीं है, बस एक लाइन ब्रेक है।

nvmrc

shell टर्मिनलों के साथ गहरा एकीकरण

आप अपने shell के साथ गहराई से एकीकृत करने और निर्देशिकाएं बदलते समय स्वचालित रूप से nvm को आमंत्रित करने के लिए avn का उपयोग कर सकते हैं।

यदि आप एक हल्के समाधान पसंद करते हैं, तो आप नीचे दी गई विधि का उपयोग कर सकते हैं।

.nvmrc फ़ाइल के आधार पर zsh टर्मिनल में स्वचालित रूप से Node.js संस्करण स्विच करना

अपने $HOME/.zshrc में निम्नलिखित कोड जोड़ने के बाद, जब भी आप .nvmrc फ़ाइल वाली निर्देशिका में प्रवेश करेंगे, nvm use स्वचालित रूप से कॉल किया जाएगा। .nvmrc फ़ाइल में स्ट्रिंग nvm को बताती है कि किस Node.js संस्करण का उपयोग करना है।

bash
# होम निर्देशिका खोलें और .zshrc फ़ाइल संपादित करें
$ cd
$ vi .zshrc

यह वह कोड है जिसे .zshrc में लिखने की आवश्यकता है:

bash
# इस कोड सेगमेंट को .zshrc फ़ाइल में कॉपी करें
# इसे nvm आरंभीकरण के बाद रखें!
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

.zshrc फ़ाइल संपादित करने के बाद, कमांड को प्रभावी बनाने के लिए source .zshrc निष्पादित करें:

bash
$ source ~/.zshrc

.nvmrc फ़ाइल वाली परियोजनाओं में, जब आप vscode में एकीकृत टर्मिनल खोलते हैं, तो आप पाएंगे कि nvm use स्वचालित रूप से निष्पादित होता है, कमांड लाइन में संबंधित आउटपुट के साथ।

nvmrc

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