nvmrc কনফিগার করা
পরিচিতি
একাধিক প্রকল্প ডেভেলপ করার সময়, প্রতিটি প্রকল্পের জন্য একটি ভিন্ন Node.js সংস্করণের প্রয়োজন হতে পারে। এমন ক্ষেত্রে, আমাদের টার্মিনালে nvm install এবং nvm use কমান্ড চালিয়ে প্রতিটি প্রকল্পের জন্য Node.js সংস্করণ নির্দিষ্ট করতে হবে সংস্করণ ইনস্টল এবং পরিবর্তন করতে।
যাইহোক, প্রতিবার টার্মিনালে ম্যানুয়ালি কমান্ড চালানো কষ্টকর হয়ে ওঠে, বিশেষ করে প্রকল্পের সংখ্যা বাড়ার সাথে সাথে। সংস্করণ পরিবর্তন করতে ভুলে যাওয়া বা ভুল সংস্করণে পরিবর্তন করা সহজ, যা প্রকল্পগুলি শুরু করতে ব্যর্থ হতে পারে বা রানটাইমে ত্রুটির সম্মুখীন হতে পারে।
এখানেই আমাদের Node.js সংস্করণ পরিচালনা এবং সেগুলোর মধ্যে স্বয়ংক্রিয়ভাবে পরিবর্তন করার একটি পদ্ধতির প্রয়োজন, এবং এখানেই .nvmrc কাজে আসে।
.nvmrc কি?
উপরের ব্যাখ্যা থেকে, আপনি বুঝতে পারবেন যে .nvmrc ফাইলটি আমাদের প্রকল্পের জন্য Node.js সংস্করণ পরিচালনা করতে ব্যবহৃত হয়। এই ফাইলটি খুবই সহজ: এতে শুধুমাত্র nvm চিনতে পারে এমন একটি Node.js সংস্করণ উপস্থাপনকারী টেক্সট থাকে, যেমন 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 সংস্করণ নির্দিষ্ট করতে, আপনি echo কমান্ড ব্যবহার করে একটি .nvmrc ফাইল তৈরি করতে পারেন:
bash
$ echo "18.12" > .nvmrc
# সর্বশেষ LTS সংস্করণে সেট করুন
$ echo "lts/*" > .nvmrc
# সর্বশেষ সংস্করণে সেট করুন
$ echo "node" > .nvmrcnvm use এর মতো কমান্ডগুলি বর্তমান ডিরেক্টরি থেকে উপরের দিকে ডিরেক্টরি কাঠামোতে .nvmrc ফাইল খুঁজবে। এর অর্থ হল একটি .nvmrc ফাইল সহ একটি ডিরেক্টরির যেকোনো উপ-ডিরেক্টরিতে nvm use এর মতো কমান্ড চালানো এখনও সেই .nvmrc ফাইল ব্যবহার করবে।
.nvmrc ফাইলটিতে অবশ্যই nvm --help-এ তালিকাভুক্ত যা মেনে চলে এমন একটি <version> থাকতে হবে, তার পরে একটি newline। Trailing spaces অনুমোদিত নয়, এবং একটি trailing newline প্রয়োজন।
নিচের ছবিতে দেখানো হয়েছে, v14.21.3-এর পরে কোন স্পেস নেই, শুধুমাত্র একটি line break।

shell টার্মিনালের সাথে গভীর ইন্টিগ্রেশন
আপনি avn ব্যবহার করে আপনার shell-এর সাথে গভীরভাবে ইন্টিগ্রেট করতে পারেন এবং ডিরেক্টরি পরিবর্তন করার সময় স্বয়ংক্রিয়ভাবে nvm আহ্বান করতে পারেন।
যদি আপনি একটি হালকা সমাধান পছন্দ করেন, আপনি নিচের পদ্ধতি ব্যবহার করতে পারেন।
.nvmrc ফাইলের উপর ভিত্তি করে zsh টার্মিনালে স্বয়ংক্রিয়ভাবে Node.js সংস্করণ পরিবর্তন করা
আপনার $HOME/.zshrc-এ নিম্নলিখিত কোড যোগ করার পর, আপনি একটি .nvmrc ফাইল ধারণকারী ডিরেক্টরিতে প্রবেশ করার সময় nvm use স্বয়ংক্রিয়ভাবে বলা হবে। .nvmrc ফাইলের স্ট্রিংটি nvm-কে বলে কোন Node.js সংস্করণ ব্যবহার করতে হবে।
bash
# হোম ডিরেক্টরি খুলুন এবং .zshrc ফাইল সম্পাদনা করুন
$ cd
$ vi .zshrcএটি .zshrc-এ লিখতে হবে এমন কোড:
bash
# এই কোড সেগমেন্টটি .zshrc ফাইলে কপি করুন
# এটি 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-এ integrated টার্মিনাল খুলবেন, আপনি দেখতে পাবেন যে nvm use স্বয়ংক্রিয়ভাবে চালানো হয়েছে, কমান্ড লাইনে সংশ্লিষ্ট আউটপুট সহ।
