使用verdaccio搭建npm私有库
一、目的将公司依赖放置自己服务器,每次使用npm上传与下载,方便且安全;
二、使用阿里云ECS服务器实践,下面讲述window操作步骤
1.购买ECS,重置密码,保存密码
2.登录window服务器
输入ECS公网ip、登录用户名:administrator、刚重置的密码
3.进入window服务器,使用ie浏览器下载nodejs或者从你电脑上的node文件拷贝过去;
4.安装成功后,开始使用npm安装cnpm,转到淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
5.安装verdaccio
cnpm install verdaccio -g
6.启动
verdaccio
执行成功后,会发现有个config file 文件路径展示出来,那么要做的就是去找到并做一下修改
7.修改config.yaml
在文件底部加上 listen: 0.0.0.0:4873
8.重启verdaccio,使文件修改生效
verdaccio
9.在window服务器上可以使用本地ip或localhost加4873端口便可以访问,但我们想要的不是本机访问,是希望外网能够访问到,这时你用http://公网ip:4873会打不开
在阿里云ECS给服务器加安全组,添加一个4873端口的安全组,ECS默认是没有这些端口的
10添加成功后,使用你的公网ip加4873端口使用外网访问,看是否成功,由于本人之前忘了开启4873端口,所以使用了pm2来启动verdaccio;
pm2的优点就是能够持续连接,除非你手动关闭,关闭终端窗口也不会断开连接
11.如果以上步骤你已经可以使用外网访问,可以跳过pm2使用的过程
12.pm2安装
npm install pm2 -g
13.pm2启动verdaccio
请关闭之前所有的verdaccio启动,如果你在全局安装了verdaccio且没做其他操作,请打开文件路径:C:\Users\Administrator\AppData\Roaming\npm\node_modules\verdaccio\bin
在这个文件夹中 shift + 鼠标右键快捷打开一个命令窗口
pm2 start C:\Users\Administrator\AppData\Roaming\npm\node_modules\verdaccio\bin\verdaccio
转态status为online则启动成功
当修改了文件内容后,都要执行pm2 stop C:\Users\Administrator\AppData\Roaming\npm\node_modules\verdaccio\bin\verdaccio,然后再重启
14.上传npm包
在公司电脑上安装nrm来切换npm源
npm install -g nrm
查看源列表 nrm ls
添加私有源 nrm add 私有源名 私有源域名,例如:npm add my http://公网ip:4873
切换私有源 nrm use 私有源名 ,例如 npm use my
15.上传npm包
新建文件夹如 npmtest,命令行执行
cd npmtest
npm init -y
依次执行,这里是你公网ip:4873打开的页面
16.上传成功后,就可以供公司所有的人使用,安装npmtest依赖
npm install npmtest --save-dev
17.疑问:如果被其他公司的人知道我们的公网ip,他们是否会通过npm adduser 注册,然后再安装或publish,这样安全性并没有保障,或者本公司人离职,肯定有风险存在
尝试:当注册成功后,关闭继续注册的配置,发现npm publish失败,所以并不能在动态控制某人的注册
注册名单地址和存储npm包地址
htpasswd为注册名单,storage为依赖存储地;