使用verdaccio搭建本地npm仓库

314 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

本文写于2018年5月,本文是为了支持更换新框架做的技术调研整理的,希望给有需要的伙伴提供一些参考 搭建本地npm仓库的工具常用的有sinopia和verdaccio

sinopia是早期做这个的,不过已经有好几年没有更新了,作者已失踪

verdaccio听说是在sinopia的基础上做了维护和升级,目前还活跃

本次是采用verdaccio,过程中全程参考blog.devzeng.com/blog/npm-re… 

还是比较简单,但过程中也遇到了一些问题,在此整理一下

我先用windows搭建了一个,很简单,npm install vardaccio后直接命令行运行vardaccio即可,默认监听4873端口,尝试发布了一个包到本地仓库,成功,本地npm install这个包,成功,更改版本号后再次publish后,本地npm update,成功

一切都很顺利,次日,尝试要了台服务器,在Linux服务器上搭建本地npm仓库,同样的步骤

npm install vardaccio成功,运行vardaccio,显示端口已被监听,从本机访问服务器的地址,失败....

找了好久,发现他默认监听的是127.0.0.1:4873,从内网IP访问的地址其实并没有被监听,终于解决问题

下来就是指定仓库目录,指定访问的镜像仓库为淘宝的镜像,将修改后的配置文件放到合适的位置

最终启动方式改为了nohup verdaccio --listen 0.0.0.0:4873 --config /home/.config/verdaccio/config.yaml &

正常运行,发布了一个包到本地仓库,成功,本地npm install这个包,成功,更改版本号后再次publish后,本地npm update,成功

OK!

最后梳理一下整个流程:

找一台linux服务器

安装nodejs(npm),需要8.9以上

修改/etc/profile,增加export NODE_HOME=/opt/nodejs/node-v8.11.2-linux-x64和export PATH=$PATH:$NODE_HOME/bin 将node加入到环境变量,source /etc/profile刷新配置,方便全局访问

npm install -g verdaccio

verdaccio,运行起来后关掉

找到其默认生成的config文件,拷贝到合适的目录里,修改storage和uplinks里的url

nohup verdaccio --listen 0.0.0.0:4873 --config /home/.config/verdaccio/config.yaml &

从其他主机访问测试

over