在本地用户目录中管理 npm 的 -g

在进行npm更新等操作时,经常会不小心忘记加上”npm update -g npm”和”sudo”来执行,结果导致无法使用npm的情况经常发生。

最近为了使用golang的go get命令,我在.bashrc文件中设置了GOPATH如下。

if [ -e $HOME/golang ];then
    export GOPATH=$HOME/golang
    export PATH=$GOPATH/bin:$PATH
fi

在golang中,你可以将外部库的目录全部存放在用户目录下。我想知道是否可以通过npm实现相同的功能,于是进行了调查。

    config | npm Documentation

根据公式文件,prefix看起来是这样的。将其设置为/Users/yourname/npm。

$ npm config edit
prefix=/Users/yourname/npm

使用npm config edit命令可以将配置添加到~/.npmrc文件中。使用$HOME/npm无效,而使用~/npm会自动替换为上述路径。

另外,确保将路径添加到$home/npm/bin中。

if [ -e $HOME/npm/bin ];then
    export PATH=$HOME/npm/bin:$PATH
fi

用这个命令安装npm,不需要加sudo。

$ npm install -g npm

当您确认npm命令的路径后,将会指向用户目录。

$ which npm
/Users/yourname/npm/bin/npm

以后不需要给”npm install -g packagename”加上sudo了,太棒了!

bannerAds