本文已参与「新人创作礼」活动,一起开启掘金创作之路。
本文写于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