整了个私有 NPM 源,并发布了第一个包

2022-11-07

部署私有 NPM 源最简单的办法就是,使用 Verdaccio 这个项目来完成,它是一个 NodeJS 程序,直接通过包管理软件安装到全局,再执行 verdaccio 命令就可以快速启动,看起来几乎就是零配置成本。

但实际上肯定需要使用 Nginx 一类的软件进行反向代理,我配置好 Nginx 之后发现代理后的网站链接依旧是原先 127.0.0.1 的,查阅文档后得知需要修改配置文件的 http_proxy 或 https_proxy 设置项,配置文件的默认存储文件夹在 Windows 下是 C:\Users\用户名\AppData\Roaming\verdaccio

相信这里大多数人都会选择 http 吧,我也是这么干的。结果发现链接确实正确了,但我 Nginx 开启了 SSL 和自动签发证书,Verdaccio 却依旧我行我素地采用了 HTTP,这就挺纳闷的。

替换成 https_proxy 之后提示需要我提供 SSL 证书,总感觉是多此一举,直接把本地 HTTP 服务变成外网的 HTTPS 网站而已,为啥还要这么复杂呢?目前关于这个问题我还没有得到良好的解决方案,决定还是以 HTTP 的模式凑合使用着了。

发布一个包很简单,但打包实际代码就特别复杂。此前我接触过的方案有 tsuptsdx,但公司项目内的打包我看是他们自己徒手组装的?每次发版还需要把这就不清楚了,但我认为应该从最简单的开始熟悉,后续才有更深入的认识吧。

npm adduser --registry http://npm.paul.me/
npm publish --registry http://npm.paul.me/

鄙人暂时没有做自己项目公用 TS 库的想法,就想着先把自己项目常用的 Config(例如 tsconfig eslint 等配置)打成一个包,按照 此前的 方案整合到现有项目当中。期间发现两个问题,一个是 tsconfig 报错,还有一个是发布时出现 error: one of the uplinks is down, refuse to publish 错误,还好网上都能找到对应的说明与解决方案。

tsconfig.json 在配置文件中找不到任何输入,怎么办
error: one of the uplinks is down, refuse to publish
Verdaccio 文档:离线发布

阵雨 一般
概览页 时间轴
奇趣音乐盒 技术源于 Kico Player
Emmm,这里是歌词君