एनपीएम आपकी परियोजनाओं में पहले से ही स्थानीय पैकेज स्थापित करेगा, लेकिन मैं अभी भी अपने ऑपरेटिंग सिस्टम की फाइलों से सिस्टम को दूर रखना पसंद करता हूं। यहां बताया गया है कि मैं कैसे नोड्यूज पैकेज कम्पार्टमेंटलाइज़ करने का सुझाव देता हूं:
Nrisjs और NPM को क्रिस-लेप PPA के माध्यम से स्थापित करें। फिर मैंने नोड "ग्लोबल" पैकेज रखने के लिए अपने होमडिर में एक पैकेज रूट स्थापित किया:
$ NPM_PACKAGES="$HOME/.npm-packages"
$ mkdir -p "$NPM_PACKAGES"
इस निर्देशिका का उपयोग करने के लिए एनपीएम को उसके वैश्विक पैकेज संस्थापन के लिए सेट करें:
$ echo "prefix = $NPM_PACKAGES" >> ~/.npmrc
अपने .zshrc / .bashrc में निम्नलिखित जोड़कर अपने $ NPM_PACKAGES उपसर्ग में कमांड देखने के लिए अपने PATH और MANPATH को कॉन्फ़िगर करें:
# NPM packages in homedir
NPM_PACKAGES="$HOME/.npm-packages"
# Tell our environment about user-installed node tools
PATH="$NPM_PACKAGES/bin:$PATH"
# Unset manpath so we can inherit from /etc/manpath via the `manpath` command
unset MANPATH # delete if you already modified MANPATH elsewhere in your configuration
MANPATH="$NPM_PACKAGES/share/man:$(manpath)"
# Tell Node about these packages
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
अब जब आप एक करते हैं npm install -g
, तो एनपीएम पुस्तकालयों को स्थापित करेगा ~/.npm-packages/lib/node_modules
, और निष्पादन योग्य उपकरणों को लिंक करेगा ~/.npm-packages/bin
, जो कि आपके में है PATH
।
जैसा npm install -g
कि आप सामान्य रूप से उपयोग करेंगे:
[justjake@marathon:~] $ npm install -g coffee-script
... (npm downloads stuff) ...
/home/justjake/.npm-packages/bin/coffee -> /home/justjake/.npm-packages/lib/node_modules/coffee-script/bin/coffee
/home/justjake/.npm-packages/bin/cake -> /home/justjake/.npm-packages/lib/node_modules/coffee-script/bin/cake
coffee-script@1.3.3 /home/justjake/.npm-packages/lib/node_modules/coffee-script
[justjake@marathon:~] $ which coffee
/home/justjake/.npm-packages/bin/coffee