内网使用nexus3搭建npm私库方法

news2024/12/26 14:30:58

内网使用nexus3搭建npm私库大致分为下载tgz和批量上传两个步骤。如下。

第一步,批量下载tgz依赖。

  1. 新建一个文件夹,比如download;
  2. 拷贝出项目中package.json或者package-lock.json。放进download文件夹中;
  3. 确保电脑本地已经安装好nodejs,确保nodejs相关环境变量配置成功;
  4. 拷贝download.sh 脚本到downlaod 文件夹中,和package.json同一目录;脚本如下所示:
    echo ">>> 正在下载未压缩依赖... <<<"
    npm i
    echo ">>> 下载完成 <<<"
    echo ">>> 正在下载tgz格式依赖... <<<"
    npm install node-tgz-downloader -g
    download-tgz package-lock package-lock.json
    echo ">>> 下载完成 <<<"
    echo ">>> 正在移动tgz文件... \n"
    mkdir tgz
    find ./tarballs -maxdepth 4 -name "*.tgz" | xargs mv -t ./tgz
    echo ">>> 移动完成 \n"
    

    文件夹结构如图所示:

  5. 在downlaod文件夹下执行download.sh脚本。Windows环境需要下载git执行shell脚本,linux环境可直接执行脚本;
  6. 在脚本执行后,会下载以来,然后对package-lock.json的rsolve字段进行解析下载tgz包;
  7. 最后,脚本依次执行下载,会相继出现downloading 、complete等字样;
  8. 下载完成后,会在download文件夹下自动创建tgz文件夹,该文件夹下即是所需tgz包;如下图所示:

第二步,批量上传nexus。

  1. 新建upload文件夹;
  2. 登录nexus,找到需要上传的npm-hosted(本地)地址。如下图所示:

   

        3. 找到批量上传tgz包的接口地址,如下图所示:

4.  拷贝upload.sh 脚本,放进upload文件夹中;脚本如下所示:55

#!/bin/bash
targetDir=./tgz
publishRestful=你的nexusIP/service/rest/v1/components?repository=你的npm-hosted路径
echo ">>> 文件所在目录:$targetDir <<<"
dir=$(ls -l $targetDir | awk '/.tgz$/ {print $NF}')
cd $targetDir
 
for file in $dir
do
  echo ">>> $targetDir/$file 上传开始 \n"
  ret=`curl -u 用户名:密码 -X POST "$publishRestful" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "npm.asset=@$file;type=application/x-compressed"`
  echo $ret
  echo ">>> $targetDir/$file 上传完成 \n"
done

 5. 将下载好的tgz文件夹,放进upload文件夹,如下图所示:

6.  同样在此文件夹下执行upload.sh 脚本;如下图所示:

 7. 脚本自动执行上传,直至结束。

至此上传步骤完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1859653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

打造坚固的SSH防护网:端口敲门入门指南

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 打造坚固的SSH防护网&#xff1a;端口敲门入门指南 前言什么是端口敲门端口敲门的优点1. 增强安全…

您的私人办公室!——ONLYOFFICE8.1版本桌面编辑器测评

onlyoffice是一款非常棒的办公软件&#xff0c;我们都知道PDF文件就像照片一样&#xff0c;处理起来非常的烦躁&#xff0c;就说转成word文件这个需求都很难享受的到&#xff0c;就算是转了&#xff0c;效果也是很一般&#xff0c;那么ONLYOFFICE在最新版本就解决了这个问题&am…

华为数通——STP-RSTP-MSTP生成树

STP 为了提高网络可靠性&#xff0c;交换机之间常常会进行设备冗余&#xff08;备份&#xff09;&#xff0c;但这样会给交换网络带来环路风险&#xff0c;导致广播风暴以及MAC地址表不稳定等问题。 STP&#xff1a;生成树协议的作用就是为了解决避免二层环路&#xff0c;解决…

51单片机定时炸弹-准确计时-两根线随机一根触发中断可“拆弹“(AT89C52)

一、设计介绍: 1、使用定时器按照精确时间读秒倒计时&#xff0c;倒计时在LCD1602中居中显示&#xff0c;格式为mm&#xff1a;ss&#xff0c;每秒变化一次 2、默认倒计时10分钟&#xff0c;时间到后显示“Time over”“&#xff08;&#xff08;&#xff08;Boom&#xff09…

Ansible-综合练习-生产案例

斌的招儿 网上教程大多都是官网模板化的教程和文档&#xff0c;这里小斌用自己实际生产环境使用的例子给大家做一个详解。涉及到一整套ansible的使用&#xff0c;对于roles的使用&#xff0c;也仅涉及到tasks和files目录&#xff0c;方便大家快速上手并规范化管理。 0.环境配置…

Spring(核心概念:IoC/DI思想)

目录 一、引言 &#xff08;1&#xff09;如今的代码书写现状 1、业务层 2、数据层 3、假如当项目上线发布之后&#xff0c;想把数据层的实现换一下 二、核心概念 &#xff08;1&#xff09;IoC&#xff08; Inversion of Control ) 控制反转 &#xff08;2&#xff09;…

XML 外部实体注入漏洞

XML&#xff08;可扩展标记语言&#xff09; XML 的定义 XML&#xff08;eXtensible Markup Language&#xff0c;扩展标记语言&#xff09;是一种用于描述结构化数据的标记语言&#xff0c;它类似于 HTML&#xff0c;但它的标签是自定义的。XML 的主要目的是传输和存储数据&…

刷题日记6.25

136. 只出现一次的数字 这道题考察的是异或算法&#xff0c;也是异或算法的一个典型作用例子。 注意题目要求实现线性时间复杂度算法解决&#xff0c;所以就不要想着排序或者用set数组之类的了。 先讲讲异或算法。 异或&#xff08;XOR&#xff09;是一种常用的位运算操作&am…

GIF转字符画

前言 上一次我们实现了静态图片转字符画&#xff1a; https://blog.csdn.net/weixin_54143563/article/details/139778645 由此我们不禁思考&#xff0c;对于动态的gif应该怎么转换呢&#xff1f; 思路 在网上我学习到了一种思路&#xff1a; 1.创建中间的临时文件夹tmp&a…

Web前端期末大作业--绿色自适应医疗健康医院网页设计(HTML+CSS+JavaScript+)实现

Toggle navigation Hospital 首页 关于我们医疗动态医疗资源联系我们 我们的服务 心脏监测 XXX的通道有许多变化&#xff0c;但大多数人以某种形式遭受了改变&#xff0c;通过注射幽默 康复治疗 XXX的通道有许多变化&#xff0c;但大多数人以某种形式遭受了改变&#xff0c;通…

Java技术栈总结:数据库MySQL篇

一、慢查询 1、常见情形 聚合查询 多表查询 表数据量过大查询 深度分页查询 2、定位慢查询 方案一、开源工具 调试工具&#xff1a;Arthas运维工具&#xff1a;Prometheus、Skywalking 方案二、MySQL自带慢日志 在MySQL配置文件 /etc/my.conf 中配置&#xff1a; # …

音频傅里叶变换(基于开源kissffs)

主要参考资料&#xff1a; 深入浅出的讲解傅里叶变换&#xff08;真正的通俗易懂&#xff09;: https://zhuanlan.zhihu.com/p/19763358 推荐开源项目&#xff1a;KISS FFT&#xff1a; https://blog.csdn.net/gitblog_00031/article/details/138840117 数字硅麦数据的处理&…

【Android】实现图片和视频混合轮播(无限循环、视频自动播放)

目录 前言一、实现效果二、具体实现1. 导入依赖2. 布局3. Banner基础配置4. Banner无限循环机制5. 轮播适配器6. 视频播放处理7. 完整源码 总结 前言 我们日常的需求基本上都是图片的轮播&#xff0c;而在一些特殊需求&#xff0c;例如用于展览的的数据大屏&#xff0c;又想展…

使用 Swift 6 语言模式构建 Swift 包

文章目录 前言下载 Swift 6 工具链Swiftenv - macOSSwiftly - Linux在 SPM 中启用语言模式命令行包清单文件输出结论前言 我最近了解到,Swift 6 的一些重大变更(如完整的数据隔离和数据竞争安全检查)将成为 Swift 6 语言模式的一部分,该模式将在 Swift 6 编译器中作为可选…

【征服数据结构】:期末通关秘籍

【征服数据结构】&#xff1a;期末通关秘籍 &#x1f498; 数据结构的基本概念&#x1f608; 数据结构的基本概念&#x1f608; 逻辑结构和存储结构的区别和联系&#x1f608; 算法及其特性&#x1f608; 简答题 &#x1f498; 线性表&#xff08;链表、单链表&#xff09;&…

怎么查找企业的经营动态信息?

很多人都会查询企业的经营动态&#xff0c;比如很多投资者会关注企业的财务状况&#xff0c;市场战略&#xff0c;经营决策等信息&#xff1b;职场上也需要了解竞争对手和合作伙伴的相关经营动态&#xff0c;新品发布&#xff0c;技术专利申请等等。还有一些行业研究人员需要了…

STM32单片机WDG看门狗详解

文章目录 1. WDG简介 2. IWDG框图 3. IWDG键寄存器 4. IWDG超时时间 5. WWDG框图 6. WWDG工作特性 7. WWDG超时时间 8. IWDG和WWDG对比 9. 代码示例 1. WDG简介 WDG&#xff08;Watchdog&#xff09;看门狗 看门狗可以监控程序的运行状态&#xff0c;当程序因为设计…

钡铼技术BL101串口6路Modbus转MQTT网关加速智慧城市部署

随着物联网技术的飞速发展&#xff0c;如何高效地整合传统设备与现代云端系统&#xff0c;成为了亟待解决的关键问题。钡铼技术&#xff0c;作为物联网领域的硬件设备制造商&#xff0c;近期推出的BL101六路串口Modbus转MQTT网关&#xff0c;正以其独特优势&#xff0c;为智慧城…

LabVIEW在光学与光子学实验室中的应用

光学与光子学实验室致力于光学和光子学前沿领域的研究&#xff0c;涉及超快光学、非线性光学、光纤通信、光子晶体等多个方向。实验室需要高精度的实验控制和数据采集系统&#xff0c;以进行复杂的光学实验&#xff0c;并对实验数据进行实时处理和分析。 项目需求 实时控制与监…

CMDB详解及对企业的作用

CMDB即配置管理数据库&#xff08;Configuration Management Database&#xff09;&#xff0c;是一种专门用于管理IT资产、配置信息和关系的数据库。CMDB以规划、监控、分析和存档企业的所有IT基础设施和应用程序为目的&#xff0c;成为企业IT管理和运营的重要工具。 CMDB的…