zoukankan      html  css  js  c++  java
  • 使用verdaccio搭建npm私有仓库

    https://verdaccio.org/docs/en/configuration#authentification

    verdaccio私有仓库

    背景


    verdaccio
    业务需求,会有许多公司内部开发的私有包,这些包希望可以统一管理,方便开发和使用,此时就需要一个内部的仓库来保存这些包。使用内部仓库还有一个好处,就是速度快,自己搭建npm 服务器,本身可以自带常用package的缓存, cnpm有一些包存在路径问题,而npm 的速度有些感人,自建的服务器会缓存下载过的包,能节省时间。
    仓库对比:
    maven包管理的私服工具nexus搭建私有仓库:方式功能强大,但更偏向后台使用,前端不太适合
    阿里的cnpm搭建npm私有仓库:这个是阿里自己内部也在使用的,挺好用,不过需要安装MySQL数据库,而且配置比较麻烦
    sinopia搭建npm私有仓库:这个使用比较简单,而且不用配置数据库,但是这个github项目很久没有维护了
    verdaccio来搭建npm私有仓库:这个github项目是sinopia的分支,所谓青出于蓝胜于蓝,查阅相关资料后对比,决定使用此仓库

    verdaccio 安装

    安装比较简单,使用npm全局安装即可。

    $ npm install -g verdaccio --unsafe-perm
    

    安装完成后,默认配置文件位置在~/.config/verdaccio/config.yaml
    修改配置文件:

    storage: /data/verdaccio/storage        #存储位置
    plugins: /data/verdaccio/plugins
    web:
      title: Verdaccio
    auth:
      htpasswd:
        file: /data/verdaccio/htpasswd      #认证文件位置
    uplinks:
      npmjs:
        url: https://registry.npm.taobao.org/   #让verdaccio使用 淘宝的npm镜像地址
    listen: 0.0.0.0:4873    #配置监听地址及端口
    

    verdaccio 启动

    使用pm2来管理verdaccio的启动和关闭。
    安装pm2:

    $ npm install -g pm2 --unsafe-perm
    

    使用pm2启动verdaccio:

    $ pm2 start verdaccio
    

    查看进程:

    verdaccio已经在启动了。
    通过http://ip:4873访问,既可以看到本文开始的verdaccio页面。

    使用verdaccio仓库

    发布npm包到私有仓库

    发布npm包之前必须先注册账号:

    $ npm adduser --registry  http://xxx:4873
    # 输入npm账号用户名、密码和邮箱,如下:
    Username: npmtest
    Password: 
    Email: (this IS public) npmtest@npmtest
    Logged in as npmtest on http://xxx:4873/.
    

    输出Logged in as npmtest on http://xxx:4873/.,表示npm账号npmtest成功登录到http://xxx:4873/私有仓库了。
    发布npm包:

    $ npm publish --registry http://xxx:4873
    

    发布成功后在浏览器刷新http://xxx:4873就可以看到我们发布的私有包。

    使用npm仓库的私有包

    下载我们发布到私有仓库的npm包时,只需要修改仓库地址即可,具体操作如下:

    $ npm set registry http://xxx:4873
    

    在执行这条命令以后,再使用npm install xxx命令就会优先去我们自己的私有仓库下载npm包,如果没有找到,则会从npm中央仓库下载,npm中央仓库我们再配置文件中配置的淘宝地址,所以下载速度也是很快的。

    后记


    verdaccio
    verdaccio私有仓库在作者公司已经使用了半年多了,至今没有出现过什么问题,还是很推荐大家使用的。也欢迎大家多提意见,共同学习!

    作者:Mr.Ares
    个性签名:许多人的付出都是浅尝辄止!
  • 相关阅读:
    Lily.Core.FileDataProvider文件管理使用范例。
    CruiseControl.NET,Nant持续集成(1)
    如何为当前进程设置环境变量?
    unix时间戳与datetime的转换函数
    Mac 平台下功能强大的Shimo软件使用指南
    如何解决源码包安装时的依赖性问题
    《Linux企业应用案例精解》一书配套视频发布
    ZoneMinder配置与使用
    网站优化IIS7下静态文件的优化
    WIN7常用功能的介绍
  • 原文地址:https://www.cnblogs.com/aresxin/p/verdaccio.html
Copyright © 2011-2022 走看看