nvmrc کنفیگر کریں
پیش لفظ
جب متعدد پروجیکٹس ڈویلپ کرتے ہیں، ہر پروجیکٹ کے رن ٹائم ماحول کی ضرورت مختلف node ورژن ہوتی ہے، تو ہمیں ہر پروجیکٹ کے لیے node ورژن متعین کرنا ہوگا، یعنی ٹرمینل پر nvm install اور nvm use کمانڈز چلا کر ورژن انسٹال اور تبدیل کرنا ہوگا۔
لیکن ہر بار ٹرمینل پر دستی طور پر کمانڈ چلانا بہت مشکل ہے، خاص طور پر جب پروجیکٹس زیادہ ہو جاتے ہیں، ورژن تبدیل کرنا بھول جانا یا غلط ورژن تبدیل کرنا آسان ہے، جس سے پروجیکٹ شروع نہیں ہوگا یا چلانے میں کچھ خرابیاں ہوں گی۔
اس کے لیے node ورژن کو منظم کرنے کا طریقہ درکار ہے، خودکار node ورژن تبدیلی، اس وقت .nvmrc کام آئے گا
.nvmrc کیا ہے
مندرجہ بالا وضاحت سے .nvmrc فائل کا تقریباً اندازہ ہو گیا ہے، یہ ہمارے پروجیکٹ کے استعمال کردہ node.js ورژن کو منظم کرنے کے لیے استعمال ہوتی ہے۔ یہ فائل بہت آسان ہے: صرف ایک nvm کے ذریعے پہچانا جانے والا node.js ورژن کا متن۔ مثال: v18.12.0
.nvmrc فائل کیسے استعمال کریں؟
آپ ایک .nvmrc فائل بنا سکتے ہیں، فائل کا مواد ایک node ورژن نمبر یا دیگر nvm کے ذریعے سمجھے جانے والا متن ہے؛ تفصیلات ٹرمینل میں nvm --help ٹائپ کرکے دیکھی جا سکتی ہیں۔
.nvmrc فائل ہونے کے بعد، جب ہم ٹرمینل میں ورژن متعین کیے بغیر nvm use، nvm install، nvm exec، nvm run، اور nvm which کمانڈز چلاتے ہیں تو .nvmrc فائل میں متعین کردہ ورژن استعمال ہوگا۔
.nvmrc فائل بنائیں
مثال کے طور پر، موجودہ ڈائریکٹری میں، nvm کو 18.12 کا تازہ ترین ریلیز ورژن، تازہ ترین ریلیز LTS ورژن، تازہ ترین ریلیز node ورژن متعین کرنے دیں۔ echo سٹرنگ > فائل نام استعمال کرکے سٹرنگ کو متعین کردہ فائل میں بھرا جا سکتا ہے اور فائل بنائی جا سکتی ہے۔ مندرجہ ذیل کمانڈز .nvmrc فائل بنائیں گی
bash
$ echo "18.12" > .nvmrc
# تازہ ترین LTS ورژن سیٹ کریں
$ echo "lts/*" > .nvmrc
# تازہ ترین ورژن سیٹ کریں
$ echo "node" > .nvmrcnvm use جیسی کمانڈز موجودہ ڈائریکٹری سے اوپر ڈائریکٹری سٹرکچر میں .nvmrc فائل تلاش کریں گی۔ یعنی، .nvmrc والی ڈائریکٹری کے کسی بھی ذیلی ڈائریکٹری میں nvm use جیسی کمانڈز چلانے پر، .nvmrc کام کرے گا۔
.nvmrc فائل ایک <version> ہونی چاہیے جو nvm --help میں درج ہے، ورژن نمبر کے بعد نیا لائن۔ trailing spaces کی اجازت نہیں ہے، اور trailing newline درکار ہے۔
جیسا کہ نیچے دی گئی تصویر میں، v14.21.3 کے بعد کوئی space نہیں ہے، براہ راست enter نیا لائن۔

shell ٹرمینل میں گہری انضمام
آپ avn استعمال کر سکتے ہیں تاکہ اپنے shell میں گہری انضمام کریں، اور ڈائریکٹری تبدیل کرتے وقت خودکار طور پر nvm کو کال کریں۔
اگر آپ ہلکے وزن والا حل ترجیح دیتے ہیں، تو نیچے دیا گیا طریقہ استعمال کر سکتے ہیں۔
zsh ٹرمینل .nvmrc فائل کے مطابق خودکار node ورژن تبدیلی $HOME/.zshrc میں مندرجہ ذیل کوڈ شامل کرنے کے بعد۔ جب بھی .nvmrc فائل پر مشتمل ڈائریکٹری میں داخل ہوں تو خودکار طور پر nvm use کال کریں، .nvmrc فائل کا سٹرنگ nvm کو بتاتا ہے کہ کون سا node.js ورژن استعمال کرنا ہے
bash
# home ڈائریکٹری کھولیں، اور .zshrc فائل میں ترمیم کریں
$ cd
$ vi .zshrcیہ .zshrc میں لکھنے کے لیے درکار کوڈ ہے:
bash
# یہ کوڈ .zshrc فائل میں کاپی کریں
# place this after nvm initialization!
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 چل رہا ہے، کمانڈ لائن پر متعلقہ آؤٹ پٹ ہے۔
