zoukankan      html  css  js  c++  java
  • NodeJS学习:搭建私有NPM

    工具

    • verdaccio
    • nrm
    • pm2

    特点

    verdaccio 的特点:

    • 不同步拉取npm库,占据大量硬盘,没有硬盘被撑爆的问题;
    • 安装配置极其简单,不需要数据库;
    • 支持配置上游registry配置,拉取即缓存;
    • 支持forever及pm2守护进程管理;
    • 私有npm package 管理
    • 支持 docker 等应用容器

    verdaccio 是上一个 sinopia 的交叉分支。

    安装 verdaccio

    npm i verdaccio -g
    

    安装好后,执行 verdaccio 即可以看到本地 NPM 的web管理界面。

    更换 registry

    不推荐

    npm config set registry http://
    

    推荐

    npm i nrm -g
    
    nrm list | nrm ls
    nrm add [name] [http://url]
    nrm use [name]
    nrm del [name]
    

    创建NPM账号

    npm adduser | npm adduser --registry  http:// localhost:4873 /
    username:***
    password:***
    

    其它用户相关命令:

    npm login  #登陆
    npm logout #退出
    npm whoami #查看当前用户
    

    发布package

    npm publish
    

    升级版本号

    npm version patch #升级补丁版本号
    npm version minor #升级副版本号
    npm version major #升级主版本号
    

    verdaccio - profile

    verdaccio 的配置文件是默认存放在用户目录中的,在window上其路径是:~UsersAdministrator.configverdaccio

    • storage : 存放 npm包的目录。
    • config.yaml : verdaccio 的配置文件
    • htpasswd : 用于保存注册的用户。

    config.yaml说明

    ##设置NPM包的存放目录
    storage: ./storage   
    
    # 配置WEB UI界面
    web :
        title : '搭建私有NPM'
        #logo : logo.png
    
    ## 设置用户验证的文件。
    auth:                
      htpasswd:
        file: ./htpasswd
        max_users: 1000   #默认为1000,改为-1,禁止注册
    
    # 设置其它的npm注册源(registry)
    uplinks:
      npmjs:
        url: https://registry.npmjs.org/
    
    #配置权限管理
    packages:
      '@*/*':
        #表示哪一类用户可以对匹配的项目进行安装 【$all 表示所有人都可以执行对应的操作,$authenticated 表示只有通过验证的人可以执行对应操作,$anonymous 表示只有匿名者可以进行对应操作(通常无用)】
        access: $all
         #表示哪一类用户可以对匹配的项目进行发布
        publish: $authenticated
    
      '*':
        #表示哪一类用户可以对匹配的项目进行安装
        access: $all
    
        #表示哪一类用户可以对匹配的项目进行发布
        publish: $authenticated
    
        # 如果一个npm包不存在,它会去询问设置的代理。
        proxy: npmjs
    
    # 日志输出设置
    logs:
      - {type: stdout, format: pretty, level: http}
      #- {type: file, path: verdaccio.log, level: info}
    
    #修改监听的端口
    #listen: 0.0.0.0:4873  
    
    

    PM2启动 verdaccio

    pm2 start verdaccio
    

    还需要...

    • 在服务器上搭建
    • 按需进行用户权限分组?
    • Nginx代理

    http://www.verdaccio.org/

  • 相关阅读:
    C#之流程控制
    UML画图总结以及浅谈UNL九种图
    UML视频总结
    英语总结
    UML coming
    那天我把“小四”拆了
    first 关于文档(总结)
    机房收费需求分析文档
    梦开始的地方
    WebRTC 开发实践:为什么你需要 SFU 服务器
  • 原文地址:https://www.cnblogs.com/HCJJ/p/9222826.html
Copyright © 2011-2022 走看看