当前位置:首页 > 资讯 > 正文

verdaccio:搭建npm私有服务器--原来这么简单

verdaccio:搭建npm私有服务器--原来这么简单

1、公司内部开发的私有包,统一管理,方便开发和使用,自然也可以使用npm 的付费服务,原谅我们的穷。
2、安全性,由于公司内部开发的模块和一些内容并不希望其他无关人员能够看到,但是又希望内部能方便使用。

于是npm私有服务器的搭建就提上了日程。

本人搭建环境:
1、macOS系统
2、npm安装与更新

 

3、python安装及环境配置(我安装的是2.7.18)

业界主流的私有npm仓库搭建的主流方案有如下几种:
1、付费购买
2、 使用 git+ssh 这种方式直接引用到 GitHub 项目地址
3、使用 npmjs.org
4、使用 verdaccio

第一种,需要付费,并且npm在国内访问很慢,就是花钱也买不到好的体验。
第二种,不能更新即 npm update, 不能使用semver(语义化版本规范)。
那么较好的选择就只剩下第三种和第四种。
第三种方案还是npmjs平台搭建自己的私有库,组件包的发布可以借鉴npm关于组件包的发布与管理
后文说明是采用方案四搭建自己的本地私有库:



使用npm安装即可,在命令窗口输入:

 
 

在命令窗口输入:

 
 
 
  • 在启动的时候,上面可以看到,进入配置文件【config.yaml 】的路径,其内容和说明如下:
 

常用配置详解:

  • 操作:
    l $all 表示所有人(已注册、未注册)都可以执行对应的操作
    l $authenticated 表示只有通过验证的人(已注册)可以执行对应操作,注意,任何人都可以去注册账户。
    l $anonymous 表示只有匿名者可以进行对应操作(通常无用)
    l 或者也可以指定对应于之前我们配置的用户表 htpasswd 中的一个或多个用户,这样就明确地指定哪些用户可以执行匹配的操作
    听端口和主机名。
    localhost:4873     #默认
    0.0.0.0:4873     #表示在所有网卡监听

修改了配置文件后,运行命令

 
 

账号管理在 htpasswd文件中,和config.yaml的同一个目录,注册的账号都记录在该目录下。
那么如何添加注册账号呢?有以下两种方式:

1、命令行模式添加
但是大家都可以添加,不好管理(不推荐使用)

 

2、在线生成器注册账号
因为添加账号只需要在线生成一个账号,账号管理在 htpasswd文件中和config.yaml的同一个目录下,添加账号只需要在线生成一个账号,加入到htpasswd中即可。
htpasswd在线生成器:http://www.ab173.com/enc/htpasswd.php
加密算法选择 SHA-1 加密方式。

私有服务器搭设完成之后,就可以将自己写好的组件包上传管理了。
其基本步骤包括以下三步:
1、切换源
2、登录账号(可以让服务器管理那边直接给账号)
3、将包发布到服务器上

主要命令行如下:

 
 
 

那么别人的电脑怎么下载我电脑上的包呢?需要怎么配置?
你本地不需要额外配置, 先假设你们在同一局域网下,
1、你先启动服务,在 cmd 通过 ipconfig 查看局域网ip 地址
2、访问你服务的用户,安装一个npm资源管理器

最新文章