使用Nexus3搭建npm私有仓库

一、npm介绍

npm的全称是Node Package Manager,它是一个开放源代码的命令行工具,用于安装、更新和管理Node.js模块。npm是Node.js的官方模块管理器,它允许用户从一个集中的仓库中下载和安装公共的Node.js模块,并将这些模块集成到自己的应用程序中。

二、Nexus部署和配置

1、Nexus部署

可参考:使用Nexus3搭建Maven私有镜像仓库-优快云博客

2、创建npm私有仓库 

与其他私服一样的,npm私服同样有三种类型

  • hosted: 本地存储,提供本地私服功能
  • proxy: 提供代理其他仓库的类型,如果本地不存在某些jar文件时就会到这些代理站点去下载
  • group: 组类型,实质作用是组合多个仓库为一个地址

2.1、创建npm(hosted) 私有仓库

 2.2、创建npm(proxy) 仓库

由于网络限制, npm官方镜像地址无法访问,这里使用了npm中国镜像地址

npm官方镜像地址:https://registry.npmjs.org
npm中国镜像地址:https://registry.npmmirror.com

2.3、创建npm(group)组仓库 

npm-group是仓库组的名称,可以包含任何npm的仓库。将会是npm install等操作时的地址。group中,将刚创建的私有仓库(npm-hosted)和代理仓库(npm-proxy) 拖到组成员中,注意两个成员仓库的顺序,会按仓库的先后顺序从中获取组件

三、npm配置

#查看npm当前的镜像源

npm config get registry

#配置npm的镜像源为npm-group

npm config set registry http://127.0.0.1:8081/repository/npm-group/

是的,**Nexus** 可以用来搭建 **NPM 私有仓库**。Nexus 是一个强大的 **仓库管理器**,由 Sonatype 公司开发,全称是 **Nexus Repository Manager**,它支持多种包格式(如 Maven、NPM、Docker、YUM、PyPI 等),可以用来搭建私有仓库、代理远程仓库、缓存依赖等。 --- ## ✅ Nexus 的主要作用 ### 1. **私有仓库** - 企业内部可以搭建私有 NPM 仓库,存放私有模块,避免将敏感代码发布到公网。 ### 2. **代理仓库** - 可以代理官方 NPM 仓库(如 `https://registry.npmjs.org`),缓存常用包,提高访问速度,减少对外请求。 ### 3. **仓库组(仓库合并)** - 可以将多个仓库(如私有 + 代理)合并为一个统一的访问地址,方便客户端配置。 ### 4. **权限控制** - 支持用户和角色权限管理,控制谁可以上传(publish)和下载(install)包。 ### 5. **安全与审计** - 支持 HTTPS、用户认证、访问日志等,适合企业级使用。 --- ## ✅ 使用 Nexus 搭建 NPM 私有仓库的步骤 ### 1. 安装 Nexus Repository Manager #### 方式一:使用 Docker 安装(推荐) ```bash docker run -d -p 8081:8081 --name nexus nexus3 ``` > 首次启动需要等待几分钟初始化。 #### 方式二:下载安装包(Linux/Windows) 官网地址:[https://www.sonatype.com/download-oss-sonatype](https://www.sonatype.com/download-oss-sonatype) 解压后运行即可。 --- ### 2. 登录 Nexus Web 管理界面 访问:`http://localhost:8081` 默认账号密码: - 用户名:admin - 密码:admin123(首次登录后会提示修改) --- ### 3. 创建 NPM 类型的仓库 #### 3.1 创建 **NPM Hosted** 仓库(私有仓库) - 登录 Nexus 管理界面 - 点击 **Repository > Repositories** - 点击 **Create repository** - 选择 `npm (hosted)` - 填写仓库名称,如:`npm-private` - 点击 **Create repository** #### 3.2 创建 **NPM Proxy** 仓库(代理官方仓库) - 选择 `npm (proxy)` - 填写名称,如:`npmjs-org` - Remote storage URL 填写:`https://registry.npmjs.org` - 点击 **Create repository** #### 3.3 创建 **NPM Group** 仓库(合并仓库) - 选择 `npm (group)` - 填写名称,如:`npm-all` - 在 `Group` 选项中,将 `npm-private` 和 `npmjs-org` 移动到右侧 - 点击 **Create repository** 这样,客户端只需要访问 `npm-all` 这个 group 仓库,就可以同时访问私有包和官方代理包。 --- ### 4. 配置 npm 客户端 #### 4.1 设置 npm registry ```bash npm config set registry http://localhost:8081/repository/npm-all/ ``` #### 4.2 登录 Nexus(用于发布包) ```bash npm adduser --registry http://localhost:8081/repository/npm-private/ ``` 输入 Nexus 用户名、密码、邮箱。 #### 4.3 发布包 ```bash npm publish --registry http://localhost:8081/repository/npm-private/ ``` #### 4.4 安装包(自动从 group 仓库查找) ```bash npm install your-package-name ``` --- ## ✅ 总结 | 功能 | 是否支持 | |------|----------| | 搭建 NPM 私有仓库 | ✅ | | 代理官方 NPM 仓库 | ✅ | | 支持 HTTPS | ✅(需配置 SSL) | | 支持权限控制 | ✅ | | 支持多仓库合并 | ✅(通过 group) | | 支持高并发访问 | ✅(适合企业级部署) | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值