使用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为依赖存储地;

 

posted on 2020-04-26 09:53  changYao  阅读(1064)  评论(0编辑  收藏  举报