java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Nexus配置npm私有仓库

Nexus配置npm私有仓库全过程

作者:yifanghub

本文介绍企业内网环境下使用Nexus搭建私有npm仓库,通过代理缓存和统一管理提升依赖下载效率与安全性,解决公共仓库网络依赖问题,并指导401认证配置

对于前端项目的运行,我们一般要使用npm来管理依赖Node.js的依赖,安装依赖一般要指定镜像的下载地址如:

npm config set registry https://registry.npmmirror.com

但这种方式比较依赖网络,每次都要从远程拉取,对于企业内网开发,这种直连公共仓库方式往往不适用,本文介绍了使用Nexus配置私有npm仓库来拉取依赖过程。

私有npm仓库解决的问题

一、 Nexus介绍

Nexus简介

Nexus(由Sonatype开发)是一款强大的私有仓库管理平台,用于统一管理二进制构件(如软件包、依赖库、容器镜像等),支持多种技术栈(如Maven、npm、Docker、NuGet等)。

它通过本地化存储和代理远程仓库,显著提升团队开发效率与安全性。

Nexus核心概念

Nexus的核心是仓库(Repository),分为三类:

二、配置过程

1. 前置条件

2.本地仓库创建(hosted类型)

创建hosted类型的npm仓库,找到设置页面

选择npm(hosted)类型,hosted表示本机私有

填写新建的仓库信息

这里blob store(文件存储配置)选择了默认的,deployment policy选择Allow redeploy,Allow Redeploy(允许重新部署)允许用户多次上传相同版本的构件,新上传的构件会覆盖已有的构件。

3.代理仓库创建(proxy类型)

创建一个proxy类型的仓库,当依赖下载时,请求到达 Nexus -> 检查本地缓存 -> 若有缓存则直接返回 → 若无则从配置的镜像仓库下载并缓存。

这里镜像拉取地址选择了:https://registry.npmmirror.com 淘宝镜像源

4.仓库组创建(group类型)

创建仓库时选择npm-gruop类型,并把刚才常见的成员将npm-localnpm-proxy加入组

回到浏览页面,可以看到刚刚创建的3个仓库

点击拷贝url我们就能拿到需要配置的url仓库地址:

http://xxx.xxx.xxx.xxx:8081/repository/npm-public/

三、验证测试

在拉取依赖时,配置替换为我们Nexus镜像仓库地址:

npm config set registry http://xxx.xxx.xxx.xxx:8081/repository/npm-public/

四、常见问题

发布时遇到401未授权错误

此时需要开启npm的Bearer Token认证机制,配置如下

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文