ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

nexus3 npm私库搭建和使用

2021-10-25 23:07:02  阅读:303  来源: 互联网

标签:npm group 仓库 配置 私库 nexus3 registry


nexus3的安装

可戳Linux nexus3的搭建查看Linux nexus3搭建教程

搭建npm私库

点击右上角的sign in按钮,用admin账号登录nexus3,进来后可以看到以下浏览所有仓库的界面
在这里插入图片描述点击左上角的设置按钮,进入我们配置私服的界面

  1. 配置Stores(可选配置)
    在图中标红位置新建一个store(相当于一个文件夹),在后续的仓库都使用这个store,一旦创建了blob store,不可修改类型和名称,一经使用后,不可删除,建这个store便于后续备份,有需要的自行添加
    在这里插入图片描述

  2. 配置三种仓库

    npm(proxy): 代理仓库,当此仓库没有相应包时,会从配置的第三方仓库拉取,并缓存到本仓库
    npm(hosted):自己开发的包推送的仓库
    npm(group): 配置包含上面两种仓库,用户只需要配置npm(group) 这个地址即可 ,避免配置npm(proxy) 和npm(hosted) 两个地址
    

    点击左侧仓库菜单,在仓库列表的上方创建按钮进行新增仓库,先建代理仓库和本地仓库,再创建组仓库,对应的入口如下图所示:
    在这里插入图片描述

  3. 配置代理仓库(proxy)
    可选源地址https://registry.npm.taobao.org/https://registry.npmjs.org
    在这里插入图片描述

  4. 配置本地仓库(hosted)
    在这里插入图片描述

  5. 配置组仓库(group)
    有需要的小伙伴可npm和taobao两个源分别配置两个代理仓库,然后都加入到组仓库中,注意顺序就好啦
    在这里插入图片描述
    到这里我们就把我们对仓库配好啦~在这里插入图片描述

项目中的应用

  • 缓存依赖包

点击仓库右边的copy按钮复制源地址,然后在本地环境中设置该源地址,npm config set registry=http://xx/repository/group-npm/,切换后执行npm i,install成功后,在nexus的代理仓库中即可看到项目的缓存
在这里插入图片描述
在这里插入图片描述

  • 发布私包

  1. 准备npm包
    在需要发布的包进行npm init,以下init仅做测试
    在这里插入图片描述
  2. 发布
  • 登陆
    通过npm login --registry=xx(注意是本地仓库地址)

  • 发布
    通过npm publish --registry=xx(注意是本地仓库地址)
    在这里插入图片描述
    push成功后,我们就可以在hosted仓库看到我们刚刚提交的包啦~
    在这里插入图片描述

  • 注意事项

  1. push失败的话,需要在nexus realms中激活npm bearer token在这里插入图片描述

  2. 经常发布的小伙伴可通过npm config edit修改config文件,将以下代码复制到config文件中,免去登陆

    registry=http://xx/repository/npm-all/
    save-prefix=~
    always-auth=true
    _auth=YWRtaW46MTIzMTIz
    email=admin@example.org
    

    以上_auth=后面是密码的base64编码,可新建a文本执行certutil /encode a.txt b.txt输出到b文本,复制b文本的内功即可,也可以通过网上的在线工具实现啦~

以上就是nexus3搭建npm私库的全部内容啦,最重要的是自己亲手实践哈,实践的过程中遇到问题学会思考和面向百度就能不断成长啦~

标签:npm,group,仓库,配置,私库,nexus3,registry
来源: https://blog.csdn.net/u013278374/article/details/120937712

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有