我在一个没有根访问权限的unix设备上.
我改变了主意.npmrc文件(在我用户的根目录中)到:
prefix=~/global_npm
现在,当我执行"npm安装-g packagename"时,它会安装在我的global_npm目录中.这很好.
export PATH=$PATH:~/global_npm/bin
我还需要做什么吗?我想我需要设置 node 路径,但我不确定?
我在一个没有根访问权限的unix设备上.
我改变了主意.npmrc文件(在我用户的根目录中)到:
prefix=~/global_npm
现在,当我执行"npm安装-g packagename"时,它会安装在我的global_npm目录中.这很好.
export PATH=$PATH:~/global_npm/bin
我还需要做什么吗?我想我需要设置 node 路径,但我不确定?
Sindre Sorhus有一本很棒的github.com/sindresorhus/guides岁指南,我在这里转载过.
默认情况下,npm会在项目中本地安装包.您还可以在全局安装软件包(例如npm install -g <package>
个)(对于命令行应用程序很有用).然而,这样做的缺点是,您需要是root用户(或使用sudo
)才能进行全局安装.
下面是一种为给定用户全局安装软件包的方法.
mkdir "${HOME}/.npm-packages"
.bashrc
/.zshrc
:NPM_PACKAGES="${HOME}/.npm-packages"
npm
where to store your globally installed package. In your $HOME/.npmrc
file add:prefix=${HOME}/.npm-packages
node
will find them. Add the following to your .bashrc
/.zshrc
:NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
.bashrc
/.zshrc
: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)"
查看npm-g_nosudo自动完成上述步骤
NOTE:如果您正在运行OS X,.bashrc
文件可能还不存在,终端将从另一个文件(如.profile
或.bash_profile
)获取其环境参数.这些文件也位于用户的主文件夹中.在这种情况下,只需向其添加以下行即可指示终端也加载.bashrc
文件:
source ~/.bashrc