在linux或者osx环境下,由于npm全局安装的默认目录普通用户不可写入,导致很多用户使用root安装,后期普通需要使用root用户操作,带来诸多不便。
以下描述如何将npm包存放在当前用户的主目录.npm-packages中
- 创建目录
cd
mkdir .npm-packages
- 告诉npm将包存放在.npm-packages中,编辑~/.npmrc文件
prefix=${HOME}/.npm-packages
- 配置环境变量
# 定义npm存放的目录
NPM_PACKAGES="${HOME}/.npm-packages"
# 确保node可以找到安装的包
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
# 确保可以使用安装的二进制应用和man文档
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 config
MANPATH="$NPM_PACKAGES/share/man:$(manpath)"
注意,由于osx环境下终端的默认shell可能在bash和zsh间切换,所以建议以上的环境配置都配置上,一般配置在.bashrc .bash_profile .zshrc文件中。