使用Verdaccio搭建私有npm库

作者: 张阳君 分类: 前端技术
使用Verdaccio搭建私有npm库

这两年gitlab几乎成了公司内部代码托管的必备利器,而前端因为开源的关系,很少有人会提及搭建npm私有库。其实在公司内网搭建一个私有的npm库是很有必要的:一方面,公司会有一些不便公开的npm包,托管到内网相对安全可靠,另一方面,公司内部的项目使用了某个开源的npm包,并且针对该npm包进行了部分修改,这个修改后的npm包可以托管到内网,以后开发不至于和原版的npm包混淆。其实最大的好处是,内网下载速度飞快!

之前比较有名的是Sinopia这个库,github地址:https://github.com/rlidwka/sinopia,一行代码就能启动npm服务,无奈作者已经3年多没有更新了。

后来发现一个基于Sinopia分支维护的项目Verdaccio,github地址:https://github.com/verdaccio/verdaccioVerdaccio保留了Sinopia的所有特性,并且修改掉了原有项目的bug,上手更加方便,最关键的是,Verdaccio的社群非常活跃,代码更新频率很高,各种插件绝对能满足你的需求。

Verdaccio示例

Verdaccio的安装和使用

通过npm安装:

npm install -g verdaccio

启动也只要一行代码:

verdaccio

你也可以通过pm2或者dockVerdaccio部署上线。

到这里还没结束,我们只是部署了一套npm仓库,如果要使用的话还需要设置一下npm源:

npm set registry 仓库地址

此处推荐安装nrm来管理npm源,方便随时切换!

给npm私有库添加一个用户:

npm adduser --registry 仓库地址

给仓库上传一个npm包:

npm publish --registry 仓库地址

Verdaccio配置

当我们启动Verdaccio之后,可以在控制台看到私有库的配置的路径,是一个yaml文件。

里面的配置项也比较简单,涉及网站的显示、npm包的权限、代理配置和缓存配置。所有配置都有对应的注释说明,这里就不详述了,更详细的配置可以参考:https://github.com/verdaccio/verdaccio/tree/master/conf

后话

使用Verdaccio可以快速部署一套npm仓库,几乎做到了0配置。Verdaccio特有的缓存机制,可以让你在本地安装npm包,不再受网络限制。当然,我们也可以在Verdaccio的源码上做二次开发,完成一套专属于你的npm仓库!

(全文完)

0 条评论
回复
支持 Markdown 语法
暂无评论,来抢个沙发吧!