背景:
之前公司内部是使用的 verdaccio 作为私有前端 npm 仓库的工具的, 由于最近安装包时总是遇到问题, 发包 和 安装都比较慢, 不太确定具体是什么问题
几经解决还是没能够解决掉, 索性换一个工具试试, 公司后端的 maven 库私服是使用的 nexus, 找资料时发现 nexus 也是可以作为前端 npm 仓库来使用的, 配置后尝试了一下, 比起 verdaccio 在速度方面快很多, 发包、安装也都很顺利
步骤:
1. 使用有管理权限的账号登录 nexus;
2. 创建包存储空间, 顶部小齿轮--Repository--Blob Stores--Create blob store
3. 顶部小齿轮--Repository--Repositories--Create repository;
创建3个仓库: 1个存放私有包的仓库, 1个(或多个)代理外部源的仓库, 1个包含前两个仓库的仓库组
3.1 选择 npm (hosted) -- 填写 仓库名称-- 选择存储空间
3.2 选择 npm (proxy) -- 填写 仓库名称-- 填写代理地址 --选择存储空间
3.3 选择 npm (group) -- 填写 仓库名称--选择存储空间 -- 将 3.1、3.2 创建的两个包加入到这个组中
4. 创建一个 npm 用户的角色, Security -- Roles -- Create role -- 填写 角色id -- 填写角色名称 -- 搜索 npm -- 根据自己需要加入相应的权限, 可以建多个进行更细粒度的权限管理
5. 创建npm 用户, Security -- Users -- 用户基本信息 -- 选择4 创建的角色
6. 添加npm 认证, Security -- Realms -- 将 npm Bearer Token Realm 移到右侧
7. 客户端使用 nrm (推荐) 或者直接跟 --registry=https://xxx.com/repository/[自己的仓库名称]/ 切换npm 源地址, 具体地址可以在 Repositories 中找到仓库点开查看
8. 发包:
8.1 npm login -- 输入 5 中创建的用户信息
8.2 npm publish