使用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

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

相关推荐
小小竹子5 分钟前
前端vue-实现富文本组件
前端·vue.js·富文本
小白小白从不日白14 分钟前
react hooks--useReducer
前端·javascript·react.js
下雪天的夏风26 分钟前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
danplus27 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
青稞儿32 分钟前
面试题高频之token无感刷新(vue3+node.js)
vue.js·node.js
diygwcom38 分钟前
electron-updater实现electron全量版本更新
前端·javascript·electron
Hello-Mr.Wang1 小时前
vue3中开发引导页的方法
开发语言·前端·javascript
程序员凡尘1 小时前
完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
前端·javascript·vue.js
编程零零七5 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
(⊙o⊙)~哦7 小时前
JavaScript substring() 方法
前端