您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

NPM 全局模块安装位置

首先你可以输入 npm con 命令,看看会什么:

$ npm con list
; cli cons
user-agent = "npm/3.10.10 node/v6.10.3 linux x64"

; usercon /home/sitepoint/.npmrc
prefix = "/home/sitepoint/.node_modules_global"

; node bin location = /usr/bin/nodejs
; cwd = /home/sitepoint
; HOME = /home/sitepoint
; "npm con ls -l" to show all defaults.

npm con 命令提供了我们的安装的信息。现在,让我们它们的安装位置。

$ npm con get prefix
/usr

This is the prefix we want to change, so as to install global packages in our home directory. To do that create a new directory in your home folder.

$ cd ~ && mkdir .node_modules_global
$ npm con set prefix=$HOME/.node_modules_global

为了在我们的 home 目录安装全局模块,我们要更改的 prefix 就是这个,我们首先在 home 目录中创建新夹。

$ npm con get prefix
/home/sitepoint/.node_modules_global
$ cat .npmrc
prefix=/home/sitepoint/.node_modules_global

我们仍然在 root 目录下安装了 npm, 但是由于我们变了全局模块的安装位置,我们需要再一次安装 npm,这一次我们会安装最新版本的 npm5到目录。

$ npm install npm --global
└─┬ npm@5.0.2
  ├── abbrev@1.1.0
  ├── ansi-regex@2.1.1
....
├── wrappy@1.0.2
└── write-file-atomic@2.1.0

最后我们需要 .node_modules_global/bin 至 $PATH 环境变量。

这样我们就可以在命令行运行这些全局模块。

在 .profile,.bash_profile 或者 .bashrc 中下面这一行,并重启你的终端。

`export PATH="$HOME/.node_modules_global/bin:$PATH"`

现在,命令行会首先发现 .node_modules_global/bin 目录,并且会使用正确的 npm 版本。

$ which npm
/home/sitepoint/.node_modules_global/bin/npm
$ npm --version
5.0.2

联系我
置顶