इस प्रोजेक्ट के बारे में

`n` एक हल्का, BASH-आधारित Node.js वर्जन मैनेजर है जो सरलता के लिए डिज़ाइन किया गया है। यह उपयोगकर्ताओं को कई Node.js वर्जन डाउनलोड, इंस्टॉल और स्विच करने की अनुमति देता है, या तो इंटरैक्टिव रूप से या कमांड-लाइन तर्कों के माध्यम से, बिना सबशेल, प्रोफाइल संशोधन, या जटिल API की आवश्यकता के। ## समर्थित प्लेटफ़ॉर्म `n` macOS, Linux (विंडोज सबसिस्टम फॉर लिनक्स सहित), और अन्य Unix-जैसे सिस्टम पर चलता है। यह मूल विंडोज शेल (जैसे PowerShell), गिट फॉर विंडोज BASH, या Cygwin DLL के साथ काम नहीं करता है। ## स्थापना यदि Node.js पहले से इंस्टॉल है, तो `n` इंस्टॉल करने का सबसे आसान तरीका npm के माध्यम से है: bash npm install -g n डिफ़ॉल्ट रूप से, `n` `/usr/local` में इंस्टॉल होता है, जिसके लिए उपयुक्त अनुमतियों की आवश्यकता हो सकती है। विकल्पों में निर्देशिका स्वामित्व बदलना, कस्टम `N_PREFIX` स्थान का उपयोग करना, या `sudo` के साथ चलाना शामिल है। npm के बिना बूटस्ट्रैपिंग के लिए, आप `n` को सीधे डाउनलोड और चला सकते हैं: bash curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s install lts macOS के लिए तृतीय-पक्ष इंस्टॉलर Homebrew (`brew install n`) और MacPorts (`port install n`) के माध्यम से उपलब्ध हैं, और Linux/macOS के लिए `n-install` के माध्यम से। ## मुख्य विशेषताएं - **इंटरैक्टिव चयन**: डाउनलोड किए गए वर्जन देखने और तीर कुंजियों से एक चुनने के लिए अकेले `n` चलाएं। - **वर्जन विनिर्देश**: पूर्ण या आंशिक वर्जन संख्या (जैसे, `4.9.1`, `8`, `v6.1`), `lts`, `latest`, `current` जैसे लेबल, और कोडनेम (`argon`, `boron`, `carbon`) का समर्थन करता है। - **स्वचालित वर्जन पहचान**: `.n-node-version`, `.node-version`, `.nvmrc`, या `package.json` में `engines` फ़ील्ड पढ़ता है। - **कैश प्रबंधन**: ऑफ़लाइन पुनः स्थापना के लिए डाउनलोड कैश किए जाते हैं; `n ls` कैश किए गए वर्जन सूचीबद्ध करता है, `n rm` विशिष्ट वर्जन हटाता है, `n prune` सक्रिय को छोड़कर सभी साफ़ करता है। - **प्रत्यक्ष निष्पादन**: `n run <version> <script>` एक विशिष्ट Node.js वर्जन के साथ स्क्रिप्ट चलाता है; `n exec <version> <command>` वर्जन के `PATH` के साथ कमांड चलाता है; `n which <version>` बाइनरी पथ दिखाता है। - **npm संरक्षण**: वर्तमान npm/corepack वर्जन रखने के लिए `--preserve` या `N_PRESERVE_NPM`/`N_PRESERVE_COREPACK` का उपयोग करें। - **कस्टम मिरर**: वैकल्पिक डाउनलोड स्रोतों (जैसे, चीन मिरर या अनौपचारिक बिल्ड) के लिए `N_NODE_MIRROR` या `N_NODE_DOWNLOAD_MIRROR` सेट करें। - **आर्किटेक्चर ओवरराइड**: विशिष्ट बाइनरी चुनने के लिए `--arch` या `N_ARCH` का उपयोग करें (जैसे, Alpine के लिए `x64-musl`)। - **पर्यावरण चर**: `N_PREFIX` इंस्टॉल स्थान बदलता है; `N_CACHE_PREFIX` कैश स्थान बदलता है; `NO_COLOR`/`CLICOLOR=0` ANSI रंग नियंत्रित करते हैं। - **डायग्नोस्टिक्स**: `n doctor` समस्या निवारण में मदद करता है। ## उपयोग उदाहरण bash n 10.16.0 # एक विशिष्ट वर्जन इंस्टॉल करें n lts # नवीनतम LTS इंस्टॉल करें n ls-remote lts # मेल खाने वाले रिमोट वर्जन सूचीबद्ध करें n ls # कैश किए गए वर्जन सूचीबद्ध करें n rm 0.9.4 # एक कैश किया गया वर्जन हटाएं n uninstall # सक्रिय Node.js हटाएं (कैश रखें) n run 8.11.3 --debug some.js n exec 10 my-script --fast test n --offline 12 # इंटरनेट के बिना कैश किया गया वर्जन उपयोग करें ## यह कैसे काम करता है `n` Node.js टारबॉल को एक कैश फ़ोल्डर (डिफ़ॉल्ट: `N_PREFIX/n/versions`) में डाउनलोड करता है और सक्रिय वर्जन को `bin`, `include`, `lib`, और `share` उपनिर्देशिकाओं में इंस्टॉल करता है। यह वैश्विक npm पैकेज को संशोधित नहीं करता है जब तक कि `--preserve` का उपयोग न किया जाए। यह उपकरण न्यूनतम और पारदर्शी होने के लिए डिज़ाइन किया गया है, जो इसे डेवलपर्स के लिए एक लोकप्रिय विकल्प बनाता है जो एक सीधा वर्जन मैनेजर पसंद करते हैं।