Sonatype Nexus Repository Manager (通常简称 Nexus) 是一个强大的二进制管理系统,用于存储和管理Maven、npm、NuGet等不同格式的依赖包。要在Nexus中设置并使用npm私有仓库,你需要完成以下几个步骤:
1. 安装与启动 Nexus
确保你已经安装了Nexus Repository Manager,并且它正在运行。如果你还没有安装,你可以访问Sonatype官网下载最新版本的Nexus Repository OSS。安装过程根据你的操作系统(如CentOS、Ubuntu或Windows)会有所不同,但一般包括解压下载的文件、设置环境变量、配置Java(确保Java已安装并且版本兼容),然后运行Nexus。
2. 登录 Nexus Web UI
打开浏览器,访问 http://localhost:8081
(如果修改了默认端口,则使用相应的端口),使用管理员账户登录Nexus Web界面。
3. 创建 npm 仓库
- 在主界面,导航到左侧菜单的“Repositories”。
- 点击“+”按钮添加新仓库。
- 选择“Hosted Repository”类型。
- 为仓库命名,比如“npm-hosted”,并选择“npm (proxy)”作为配方。
- 配置其他仓库设置,如版本策略等,然后保存。
4. (可选)配置 npm 代理仓库
如果你想让Nexus代理现有的npm公共库,可以创建一个Proxy类型的仓库:
- 同样在“Repositories”下点击“+”。
- 选择“Proxy Repository”类型。
- 命名仓库,如“npm-proxy”,并选择“npm (proxy)”作为配方。
- 在“Remote Storage”部分填入
https://registry.npmjs.org/
作为远程URL。 - 配置其他设置后保存。
5. 创建 npm 仓库组
为了同时使用代理和托管仓库,你需要创建一个仓库组:
- 在“Repositories”下点击“+”,选择“Group”类型。
- 命名仓库组,如“npm-group”。
- 添加之前创建的“npm-hosted”和“npm-proxy”仓库到组中。
- 保存设置。
6. 配置 npm 客户端
在使用Nexus作为npm源之前,需要在你的开发环境中配置npm。打开终端或命令行工具,执行以下命令:
npm set registry http://localhost:8081/repository/npm-group/
这将把你的npm客户端指向Nexus的npm仓库组。
7. 测试和使用
现在你可以使用npm来安装、发布或者更新包,所有操作都会通过Nexus进行。例如,安装一个包:
npm install express
或者发布你的包到私有仓库(需要先登录):
npm login --registry=http://localhost:8081/repository/npm-hosted/
npm publish
确保遵循Nexus的具体文档和最佳实践,特别是在处理权限、用户管理和安全性方面。