verdaccio

一、懵

说是要我研究搭建公司私有组件库,说实话,直觉自己本来就是技术渣渣。沟通下,大概也知道,就是相当于搭建个工具来管理大家写的公用组件、模块。
可我依然也有疑问,不是有现成的工具吗,私有又是什么概念。提供给的参考工具sinopia,哎,我好似百度百科都找不到它。

二、什么是私服,优势

大概就是私有包托管在我们的私服上,不对外。
一般私有 npm 仓库有以下一些特性:

  • 私有包托管在内部服务器或者单独的服务器上;
  • 可以同步整个官方仓库,也可以只同步需要的;
  • 下载的时候,可以让公共包走公共仓库,私有包走私有仓库;
  • 可以缓存下载过的包;
  • 对于下载,发布,有对应的权限管理。

三、关于sinopia

安装测试了下,可发包、可安装,然后就结束了。因为,度娘上都说sinopia的作者已经停止维护了,看GitHub上的更新日期确实如此,所以坑还是不要踩得好。

四、verdaccio

在接下来就有隐隐约约看到大家在提这个词,说是从sinopia fork过来的。都在推荐,简单、轻量。嗯嗯,作为一个伪程序员,经常可以看到轻量这个词,但是我到目前为止,依然不能体会轻量是何种轻量。

五、开始使用verdaccio

前期准备

  1. npm。虽然一直在用npm,因为是渣渣,还是把npm在百度了一遍遍。定义之:npm就是一个包的管理器,允许用户获取第三方包并使用;允许用户将自己编写的包或命令行程序进行发布分享。
  1. 以下是在公司内部的一台服务器【以下称A】从0开始搭建的(centos环境)

    • 安装node,检查node以及npm版本【curl -sL https://rpm.nodesource.com/setup_10.x | bash -;yum install -y nodejs】,参考centos下安装nodejs的三种种方式
    • 安装nrm,【 npm install –g verdaccio】,什么是nrm:是一个 npm 源管理器,允许你快速地在 npm 源间切换

      * nrm ls查看可选源
      * nrm add <命名源> <url> 添加源
      * nrm use <源名> 使用源
      * nrm del <源名>
      
    • 安装verdaccio: 【npm install -g verdaccio】,配置文件中添加监听端口

    • 处理防火墙的问题:这步在本机安装是不需要的;由于在A上启动了verdaccio,我本机访问不了,于是度娘之,即A应该对外开放4873的端口。参考简书
    • 添加源:* nrm add <命名源> ,并使用源:nrm use <源名>
    • 添加用户:npm adduser –registry “源路径”
    • 新建文件夹,并在文件下建一个demo包;执行npm init命令;发布包:npm publish
    • 本机下载包,测试使用。正常
  2. 遇到的问题
    • 添加源没有加端口号,导致无法发布包
    • 项目下已经安装了同名的包,导致无法安装
本站总访问量
Hi,我是liuxuehua<br>虽然我是一个前端码农<br>但是我其实更想成为一个文艺青年