منصوبے کے بارے میں
# Node Version Manager (nvm)
[Node.js](https://nodejs.org/en/) کے لیے ایک ورژن مینیجر جو per-user انسٹال کرنے اور per-shell invoke کرنے کے لیے ڈیزائن کیا گیا ہے۔ nvm کسی بھی POSIX-compliant shell (sh, dash, ksh, zsh, bash) پر unix، macOS اور Windows WSL پر کام کرتا ہے۔
## یہ کیا کرتا ہے
nvm آپ کو command line کے ذریعے مختلف versions of Node.js کو جلدی install اور switch کرنے کی اجازت دیتا ہے۔ یہ pre-built binaries ڈاؤنلوڈ کرتا ہے جب دستیاب ہوں، یا source سے compile کرتا ہے اگر آپ کے platform کے لیے binary موجود نہ ہو۔
## انسٹالیشن
تجویز کردہ طریقہ install script چلانا ہے:
```sh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.7/install.sh | bash
```
متبادل طور پر، repository کو `~/.nvm` میں clone کریں اور اپنے shell profile سے `nvm.sh` source کریں۔
## اہم commands
- `nvm install <version>` — مخصوص Node.js version download اور install کریں (مثلاً `nvm install 22`، `nvm install node` latest کے لیے)
- `nvm use <version>` — موجودہ shell میں active Node.js version تبدیل کریں
- `nvm ls` / `nvm ls-remote` — installed / available versions کی فہرست بنائیں
- `nvm alias default <version>` — نئی shells کے لیے default version سیٹ کریں
- `nvm exec <version> <command>` — بغیر switch کیے مخصوص Node.js version کے ساتھ command چلائیں
- `nvm which <version>` — installed Node executable کا path حاصل کریں
- `nvm reinstall-packages --reinstall-packages-from=<from>` — versions کے درمیان npm global packages migrate کریں
## LTS سپورٹ
nvm Node.js long-term support lines کو پہچانتا ہے:
- `lts/*` — latest LTS release
- `lts/argon`، `lts/hydrogen` وغیرہ — specific LTS codename
استعمال: `nvm install lts/*` یا `nvm use 'lts/argon'`
## .nvmrc انٹیگریشن
Project-root `.nvmrc` files مطلوبہ Node.js version declare کرتی ہیں۔ nvm bash، zsh یا fish-compatible wrappers میں shell integration hooks کے ذریعے اسے خودکار طور پر activate کر سکتا ہے۔
## Docker استعمال
nvm کو Docker containers میں `BASH_ENV` کے ذریعے `nvm.sh` source کر کے install کیا جا سکتا ہے، جس سے interactive اور non-interactive دونوں استعمال ممکن ہوتے ہیں (مثلاً CI/CD pipelines)۔
## حدود
- Fish shell پر officially support نہیں ہے (community alternatives موجود ہیں)
- FreeBSD پر officially pre-built binaries نہیں ہیں؛ compilation میں patches درکار ہو سکتے ہیں
- Homebrew install support نہیں ہے؛ users کو uninstall کر کے official instructions follow کرنی چاہئیں
- Apple Silicon Macs پر native arm64 binary support کے لیے Node v16.0.0+ استعمال کریں
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.