nexus搭建npm私库

327 阅读2分钟

背景

公司领导说要搞内网的CICD,前端项目要自动构建发布。我想内网服务器不能连外网,那构建的时候需要下载依赖包只能通过npm私库实现。后来问了下后端他们的maven私库是通过nexus配置的,正巧我上家公司的前后端私库也是用的nexus。确定了方向,那就直接要了nexus网址,下面是配置过程。

nexus配置

  • 登录 1.png 点击右上角的Sign In按钮,弹出框里输入管理员的账号、密码。

  • 创建仓库 2.jpg 点击齿轮按钮,左侧栏选择Respositories菜单,点击Create repository按钮

  • 选择仓库类型(有三种npm仓库类型) 3.png

  • 创建npm(hosted)私有仓库:用于上传本地的组件 4.png Name字段输入仓库名字,点击Create repository按钮即可创建完成。

  • 创建npm(proxy)仓库:用于远程代理(需要联系IT开通访问npm官网 registry.npmjs.org 权限) 5.png Name输入仓库名字, Remote storage字段输入远程代理的npm官网地址 registry.npmjs.org ,点击Create repository按钮即可创建完成。

  • 创建npm(group)仓库:用于将上面的私有库和代理库同时管理起来 6.png Name字段输入仓库名字,Members字段里把上面创建的两个库移到右边,其中hosted类型在上面, 点击Create repository按钮即可创建完成。

  • 配置上传的权限 7.png 将npm Bearer Token Realm从Available区域移入Active区域,点击save保存。
    !该步骤非常重要,否则在adduser和publish会一直报错401:Unable to authenticate, need: BASIC realm=“Sonatype Nexus Repository Manager”。

测试私库下载

在仓库列表页面,选择group类型的仓库,点击copy,获取仓库网址 9.jpg 本地CMD里输入下面的命令,用于切换npm和yarn的镜像

npm config set registry http://10.2.32.3:18081/repository/web-group/

yarn config set registry http://10.2.32.3:18081/repository/web-group/

yarn install

如果能成功下载npm包,说明配置成功。

总结

申请服务器IT权限的时候,尽量多申请一些npm镜像地址,避免一个域名访问不通的情况,比如:registry.npmjs.orgregistry.npmmirror.comregistry.npm.taobao.org/