NPM sẽ cài đặt các gói cục bộ vào các dự án của bạn, nhưng tôi vẫn muốn giữ hệ thống tránh xa các tệp hệ điều hành của mình. Đây là cách tôi đề xuất chia nhỏ các gói Nodejs:
Cài đặt Nodejs và NPM thông qua PPA chris-lea. Sau đó, tôi thiết lập một gốc gói trong homedir của mình để giữ các gói "toàn cầu" của Node:
$ NPM_PACKAGES="$HOME/.npm-packages"
$ mkdir -p "$NPM_PACKAGES"
Đặt NPM để sử dụng thư mục này cho các cài đặt gói toàn cầu của nó:
$ echo "prefix = $NPM_PACKAGES" >> ~/.npmrc
Định cấu hình PATH và MANPATH của bạn để xem các lệnh trong tiền tố $ NPM_PACKAGES của bạn bằng cách thêm phần sau vào .zshrc / .bashrc của bạn:
# 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"
Bây giờ khi bạn thực hiện npm install -g
, NPM sẽ cài đặt các thư viện vào ~/.npm-packages/lib/node_modules
và liên kết các công cụ có thể thực thi vào ~/.npm-packages/bin
, trong đó của bạn PATH
.
Chỉ cần sử dụng npm install -g
như bình thường:
[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