使用Nexus搭建npm私服
本文转载自:https://www.cnblogs.com/sanduzxcvbnm/p/13100534.html
PS:这个作者还整理了很多Nexus相关的文章,有问题可以多参考下
当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org
将源指定为淘宝的源,以期让速度加快起来,事实上这种的确能够让速度变快,但是长久来看,如果想真正的快速敏捷开发部署,搭建企业内部的私服,则会让速度更上一个台阶。
搭建npm私服,我们依旧使用nexus3。
与其他私服一样的,npm私服同样有三种类型:
hosted
: 本地存储,即同 docker 官方仓库一样提供本地私服功能proxy
: 提供代理其他仓库的类型,如 docker 中央仓库group
: 组类型,实质作用是组合多个仓库为一个地址
那么就来一个一个创建。
1. 创建blob存储#
2. 创建hosted类型的npm#
Name
: 定义一个名称local-npmStorage
:Blob store,我们下拉选择前面创建好的专用blob:npm-hub。Hosted
:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!
3. 创建一个proxy类型的npm仓库#
Name
: proxy-npmProxy
:Remote Storage: 远程仓库地址,这里填写: https://registry.npmjs.orgStorage
: npm-hub。
其他的均是默认。
4. 创建一个group类型的npm仓库#
Name
:group-npmStorage
:选择专用的blob存储npm-hub。group
: 将左边可选的2个仓库,添加到右边的members下。
这些配置完成之后,就可以使用了。
5. 验证使用#
新建一台环境干净的主机,安装好node环境,然后拷贝一份前端项目的源码。
获取默认的仓库地址#
# npm config get registry
https://registry.npmjs.org/
配置为私服地址。#
通过如下命令配置:
# npm config set registry http://192.168.75.11:8081/repository/group-npm/
# npm config get registry
http://192.168.75.11:8081/repository/group-npm/
现在开始安装,安装之前先看一下组里的内容:
可以看到还是空的。
安装编译#
前端框架网址:https://wepyjs.github.io/wepy-docs/2.x/
npm install @wepy/cli -g
再一次安装编译#
这里再准备一台环境干净的主机,然后进行一次编译安装,看看效果。
编译之前,先将远程地址配置为我们自己的:
# npm config set registry http://192.168.75.11:8081/repository/group-npm/
# npm config get registry
http://192.168.75.11:8081/repository/group-npm/
可以看到,同样是全新的环境下,因为第一次已经将依赖从远程缓存到本地私服,那么在第二次安装编译的时候,用时比首次快多了。
验证问题(npm 401)解决#
很多时候,Nexus的设置是不允许匿名用户访问资源的。这种情况下就需要登录才能访问。使用下面的配置,就不需要每次登录。
首先使用管理员用户激活npm realms。
然后配置
# 根据提示输入用户/密码/邮箱
npm adduser --registry=私服地址
# 再设置仓库
npm config set registry http:私服地址
官网还提供了另外一种解决方案,有兴趣的可以看下。
作者:程序员自由之路
出处:https://www.cnblogs.com/54chensongxia/p/14930128.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?