入职新公司两个月左右,期间做了几个小项目,在开发的过程中发现一些方法和模板都是可以复用,为了避免无脑的Ctrl C + V。所以就想到能不能把这些公共的代码抽离出来做成模块发布到npm服务器上。综合考虑选择verdaccio作为私有npm仓库。

为什么选择verdaccio作为私有仓库?

  • 私有仓库相对隐私,属于公司财产一部分
  • 对于发布和下载包可以配置管理权限

服务器安装verdaccio

  1. 安装node

我这里用的是腾讯云的云服务器,由于verdaccio是基于node环境下运行的。所以首先安装下node。

  1. 安装verdaccio

     npm install -g verdaccio --unsafe-perm
  2. 启动verdaccio

    verdaccio

执行结果如下

Verdaccio doesn't need superuser privileges. Don't run it under root.
 warn --- config file  - /root/.config/verdaccio/config.yaml
 warn --- Plugin successfully loaded: htpasswd
 warn --- Plugin successfully loaded: audit
 warn --- http address - http://localhost:4873/ - verdaccio/3.10.2

从打印结果可以看出,Verdaccio文件路径在root/.config/verdaccio/config.yaml以及默认地址端口为http://localhost:4873/

  1. 修改verdaccio配置
// 进入verdaccio目录
cd /root/.config/verdaccio/

// 查看该目录下的文件,该目录下默认有两个文件:config.yaml和storage

ls
> config.yaml  storage

// 查看配置文件
vim config.yaml

在配置文件config.yaml末尾加入代码:

# you can specify listen address (or simply a port)
listen: 0.0.0.0:4873
  1. 使用pm2启动verdaccio 确保进程始终开启

安装pm2

npm install -g pm2 --unsafe-perm

使用pm2启动verdaccio

pm2 start verdaccio
  1. 访问搭建好的私有仓库
    在浏览器中打开http://服务器地址:4873,如果能正常访问则说明搭建成功了。如图

注意:在腾讯云购买的云服务器需要解除下防火墙限制