NPM вже встановить локальні пакети у ваші проекти, але я все одно хочу тримати систему подалі від файлів моєї операційної системи. Ось як я пропоную розподілити пакети Nodejs:
Встановіть Nodejs та NPM через chris-lea PPA. Потім я встановив корінь пакета в моєму homedir для зберігання "глобальних" пакетів Node:
$ NPM_PACKAGES="$HOME/.npm-packages"
$ mkdir -p "$NPM_PACKAGES"
Встановіть NPM для використання цього каталогу для його глобальних встановлень пакетів:
$ echo "prefix = $NPM_PACKAGES" >> ~/.npmrc
Налаштуйте свій PATH та MANPATH, щоб бачити команди у вашому префіксі $ NPM_PACKAGES, додавши до вашого .zshrc / .bashrc наступне:
# 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 встановить бібліотеки ~/.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