0x01 安装
全局安装
$ sudo npm install -g verdaccio
笔者安装的是 verdaccio@3.2.0,需要 node > 6.12.0, npm >=3.x
我们使用 pm2 来管理进程,需要全局安装 pm2
如果 npm 安装失败可以使用 yarn
$ sudo npm install -g pm2
启动 verdaccio
$ sudo pm2 start verdaccio
然后可以查看 进程启动情况
$ pm2 ls
配置nginx反向代理
由于 verdaccio 默认是启动在 4873 端口,方便起见,配置 nginx 反向代理到该端口
如果需要查看 verdaccio 的端口号,可以用 pm2 ls 查看到 verdaccio 的 pid,然后使用:
$ netstat -nap | grep
查看占用的端口号
下面贴出 nginx 配置,centos 的nginx 配置文件在 /etc/nginx/conf.d/
新建一个配置文件,然后使用如下内容即可
server { listen 80; server_name registry.npm.your.server; location / { proxy_pass http://127.0.0.1:4873/; proxy_set_header Host $host; } }
重启 nginx
$ sudo nginx -s reload
0x02 使用
项目中配置
访问:http://registry.npm.your.server 可以看到 verdaccio 已经安装完成。
然后就可以发布你的 npm 包了~
方便起见,可以在项目目录下新建 .npmrc 文件,写入如下内容:
registry=http://registry.npm.your.server
然后项目安装的包就会先从你自己的npm下载,如果找不到就会找官方npm源
修改上游npm源
由于 verdaccio 默认使用的是npm官方的源,你可以改成淘宝的源
他的配置文件在 /home//.config/verdaccio/config.yaml
其中有个 uplinks 字段
uplinks: npmjs: url: https://registry.npmjs.org/
将 url 改为 https://registry.npm.taobao.org/ 即可