之前给公司内部搭建了个私有包管理平台,记录下过程
介绍
verdaccio是一个私有的npm包管理平台,它的前身是sinopia,目前sinopia已经停止维护,见#376。
verdaccio在npm官方包管理功能的基础上,提供了私有包管理、包源镜像、重写公共包等功能扩展,支持多种平台和环境进行部署。
npm本身是提供作用域包的特性,但是私有包的功能收费的,对于公司而言,自己搭建平台比较实惠。
平台搭建(windows server 2012)
- 在部署路径创建个目录,如
d:\demo
,进入该目录,执行npm install verdaccio
安装。 同目录下创建配置文件
config.yaml
,默认配置从这里拷贝一份。主要修改几个地方:# 设置上游源
uplinks:
npmjs:
url: https://registry.npmjs.org
taobao:
url: https://registry.npm.taobao.org
# 设置上游源顺序以及匹配条件
packages:
...:
proxy:
- taobao
- npm
# 设置外网监听端口,否则无法外网访问
listen: http://0.0.0.0:10001下载NSSM到该目录,作用是让verdaccio作为常驻后台服务。命令行窗口打开转到该目录,执行
nssm install
回车,弹出对话框对应输入:- Path:
node
- Startup directory:
d:\demo
- Arguments:
d:\demo\node_modules\verdaccio\src\lib\cli.js -c d:\demo\config.yaml
- Server name:
my-verdaccio
- Path:
接上,执行
nssm start my-verdaccio
,服务就跑起来了- 试着外网访问
ip+host
,注意防火墙问题。出别的问题自己看官方文档,我也是乱写的。 - 官方默认用户密码加密方式参考
crypt3('123456') // -->$65I6KH/.1F1w
包源管理
推荐用nrm管理npm包源,当然,手动操作也是可以的,参考。
# 安装nrm |