使用nexus3搭建npm私有仓库

一、下载解压安装包

下载地址:nexus-3.66.0-02-win.zip

二、安装并运行私服

cmd中进入到文件夹中的bin目录下运行一下命令

bash 复制代码
nexus.exe /run

等几分钟启动后,浏览器访问:默认端口8081

bash 复制代码
http://127.0.0.1:8081/
#修改端口在etc文件下 nexus-default.properties 修改端口

如图:

在登录页面输入用户名和 密码(默认用户名为 admin,默认密码则保存在 /sonatype-work/nexus3 目录下的 admin.password 文件中)

三、配置npm私服

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

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

1、创建 blob 存储。

为其(npm私库)创建一个单独的存储空间。

2、创建 hosted 类型的 npm。

Name: 定义一个名称 kuki-npm

Storage:Blob store,我们下拉选择前面创建好的专用 blob:kuki-hub

Hosted:开发环境,我们运行重复发布,因此 Delpoyment policy 选择 Allow redeploy

3、创建一个 proxy 类型的 npm 仓库。

Name: proxy-npm

Proxy:Remote Storage: 远程仓库地址,这里填写: https://registry.npmjs.org

Storage: kuki-hub

其他的均是默认。

4、创建一个 group 类型的 npm 仓库。

Name:group-npm

Storage:选择专用的 blob 存储 kuki-hub

group : 将左边可选的 2 个仓库,添加到右边的 members 下。

这些配置完成之后,就可以使用了。

查看私服对外地址

5、验证使用

通过npm命令配置

bash 复制代码
npm config set registry http://192.168.137.1:8081/repository/group-npm/
npm config get registry

通过 nrm 配置

bash 复制代码
nrm add kukipull http://192.168.137.1:8081/repository/group-npm/
nrm use kukipull
nrm ls

开始安装,安装之前先看一下组里的内容:

空白的

安装编译

bash 复制代码
#在一个新项目中
npm install 
#或
yarn
#或直接脚手架创建新项目
npx react-native@latest init AwesomeProject

在编译的过程中,已经可以看看组里的变化了:

当再次重新建一个新项目时,因为第一次已经将依赖从远程缓存到本地私服,那么在第二次安装编译的时候,就会快很多。

当运行前端项目的时候,会在解决依赖的时候会加上一个参数

bash 复制代码
npm install --registry=https://registry.npm.taobao.org

将源指定为淘宝的源,以让速度加快起来,事实上这种的确能够让速度变快,但是长久来看,如果想真正的快速、便携、敏捷开发部署,更好的是搭建企业内部的私服。

相关推荐
hoLzwEge1 分钟前
前端项目的基石:深入解读 package.json 的作用与核心配置
前端·前端框架
书中枫叶2 分钟前
从「上次几点喂奶」到全栈小程序:我做了个喂宝助手
mongodb·微信小程序·node.js
奇奇怪怪的12 分钟前
Agentic RAG:Agent 驱动的自主检索
前端
陆枫Larry13 分钟前
页面接口换图后不刷新,刷新页面后才看得到新图
前端
0x8620 分钟前
# Flutter 实时语音识别工程实践:从音频采集到流式 ASR 的完整链路
前端
Patrick_Wilson31 分钟前
从一次 Safari 白屏,聊聊 CDN 外置 React 的坑与前端监控盲区
前端·react.js·cdn
lichenyang4531 小时前
从 Demo 到本地 HAR 包:把 HarmonyOS JSBridge 运行时做成可复用库
前端
不简说1 小时前
拖拽DIY表格插件来了!sv-print 七月更新:这次真的能自己拼表格了
前端·javascript·前端框架
weixin_471383031 小时前
Next.js - 04 - 深入理解next.js渲染原理
前端·javascript·next.js
ssshooter1 小时前
小程序分包页面报 "has not been registered yet" 的隐蔽根因:一个动态 import 拖垮整个分包
前端·javascript·微信小程序