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

内网使用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. 脚本自动执行上传,直至结束。

至此上传步骤完毕。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

盛元广通数字孪生智能集控实验室管理系统

盛元广通数字孪生智能集控实验室管理系统可广泛应用于各类实验室场景&#xff0c;包括科研实验室、教学实验室、工业实验室等。通过实时监测、预测性维护、故障诊断与优化等功能&#xff0c;该系统能够提高实验室的运行效率、安全性和可靠性&#xff0c;降低运维成本。设计直观…

找出一个整型数组中的元素的最大值

这个问题在之前的文章中曾用其他方法解决&#xff0c;现在用类来处理&#xff0c;读者可以比较不同方法的特点。 编写程序&#xff1a; 运行结果&#xff1a; 程序分析&#xff1a; 程序看起来比较长&#xff0c;其实并不复杂&#xff0c;它包括以下3部分&#xff1a;…

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 1. 泛型编程 首先让我们来思考一个问题&#xff0c;如何实现一个交换函数&#x…

scrapy模块的基础使用

scrapy模块是爬虫工作者最常用的一个模块之一&#xff0c;因它有许多好用的模板&#xff0c;和丰富的中间件&#xff0c;深受欢迎。 一&#xff0c;scrapy的安装 可以通过pypi的指引进行安装 在终端内输入以下代码&#xff1a; pip install scrapy 二&#xff0c;项目的建…

hive优化之逻辑类似or逻辑重复

今天拿到一个二次开发的需求&#xff0c;只是增加一个业务类型&#xff0c;开发起来倒是也蛮轻松。 但是&#xff0c;对自己的要求不难这么低&#xff0c;否则可替代性也太高了。 除了完成自己的那部分开发&#xff0c;当然展现自己实力的&#xff0c;可以是优化。 1&#x…

笔记:记录状态并判重的方法

题目&#xff08;八数码问题&#xff09; 编号为1-8的8个正方形滑块被摆成3行3列&#xff08;有一个格子留空&#xff09;&#xff0c;如下图所示 81573642 每次可以把与空格相邻的滑块&#xff08;有公共边才算相邻&#xff09;一道空格中&#xff0c;而它原来的位置就成为…

AWS中国IAM用户强制使用MFA

问题 需要对IAM用户强制使用MFA方式进行登陆。 步骤 创建强制MFA登陆策略 找到策略创建入口&#xff0c;如下图&#xff1a; 将下述内容json策略内容&#xff0c;复制到编辑器里面&#xff0c;具体内容和操作如下&#xff1a; {"Version": "2012-10-17&qu…

JVS开源底座与核心引擎的全方位探索,助力IT智能、高效、便捷的进化

引言 JVS产品的诞生背景 JVS是软开企服构建的一站式数字化的解决方案&#xff0c;产生的背景主要来源于如下几个方面&#xff1a; 企业数字化需求的增长&#xff1a;企业对IT建设的依赖程度越来越高&#xff0c;数字化、指标化的经营已经是很多企业的生存的基础和前提&#…

工控 UI 风格美轮美奂

工控 UI 风格美轮美奂

揭秘未来艺术:AI绘画工具全面介绍

&#x1f4d1;前言 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经逐渐渗透到我们生活的方方面面。在艺术创作领域&#xff0c;AI技术同样展现出了其独特的魅力。今天&#xff0c;我们就来一起探索这个神秘而引人入胜的领域&#xff0c;深入了解AI绘画…

车联网全方位安全适配与领先架构

设想一下如下场景&#xff1a; 您钟爱的座驾&#xff0c;在毫无外力破坏迹象的情况下&#xff0c;突然被侵入&#xff0c;远程启动&#xff0c;然后绝尘而去… 别以为这只是大银幕上的虚构桥段&#xff0c;事实上&#xff0c;这一幕在现实中已经上演。 某款备受欢迎的车型&a…

1.搭建SpringBoot项目三种方式

目录 1.使用Spring Initializr 1.1访问Spring Initializr: 1.2填写项目基本信息 1.3配置项目元数据: 1.4添加依赖: 1.5生成项目: 1.6下载项目: 1.7解压项目: 1.8导入项目到IDE: 1.9运行项目: 1.10创建控制器: 1.11访问应用 2.使用IDE&#xff08;集成开发环境&…

测试基本原则-系统架构师(十六)

1、人口信息的采集处理和利用业务属于&#xff08;&#xff09;。户籍管理属于&#xff08;&#xff09;。 问题1问题2 A政府对公民 B政府对政府 C政府对企业 D公民对政府 解析&#xff1a;人口信息的采集处理和利用属于政府对政府&#xff0c;户籍属于政府对公民 答案&am…

替代LTC3855双通道多相带差分遥测DC-DC同步控制器

特性:双通道、180 定相控制器降低了所需的输入电容和电源感应噪声高效率&#xff1a;达 95%RSENSE 或 DCR 电流检测可编程 DCR 温度补偿0.75%、0.6V 输出电压准确度可锁相固定频率&#xff1a;250kHz 至 770kHz真正的远端采样差分放大器双路 N 沟道 MOSFET 同步驱动宽 VIN 范围…

对于todesk共享剪切板不好用的问题记录

todesk 远程复制粘贴 共享剪切版 1.对于已经开启todesk里面的共享剪切板设置的2. 如果此时仍不能远程复制粘贴&#xff0c;可以考虑查看快捷键映射的问题 1.对于已经开启todesk里面的共享剪切板设置的 2. 如果此时仍不能远程复制粘贴&#xff0c;可以考虑查看快捷键映射的问题 …

混合密码系统解析

1. 概述 混合密码系统(hybrid cryptosystem)是将对称密码和非对称密码的优势相结合的方法。一般情况下&#xff0c;将两种不同的方式相结合的做法就称为混合(hybrid)。用混合动力汽车来类比的话,就相当于是一种将发动机(对称密码)和电动机(非对称密码)相结合的系统。 混合密码系…

openstack-同一物理机中透传不同GPU时的nova配置记录

文章目录 前言一、不同加速卡的型号信息二、计算节点增加配置信息1.nova-compute服务的nova.conf 三、控制节点增加配置信息1.nova-conductor服务的nova.conf2.nova-scheduler服务的nova.conf3.nova-api服务的nova.conf 四、准备实例模版五、进行测试&#xff0c;创建虚拟机、检…

400技术汇 教你如何成为抓包高手!

Wireshark是目前使用最广泛的网络抓包分析工具&#xff0c;也是每一位网络攻城狮电脑里必装神器。当网络里发现恶意攻击、某人下载流量过大、设备互联丢包、协议交互失败等等情况时&#xff0c;通过Wireshark抓包定位问题根源&#xff0c;是最直接有效的手段。 然而如此强大的…

Excel 解析十六进制并查找

A1 格由多个人名及其考勤情况组成&#xff0c;比如&#xff0c;c 是十六进制的 1100&#xff0c;表示第 1、2 天到场&#xff0c;第 3、4 天缺席。目前只有 4 天的考勤。 AB1alice,c,bob,7,clara,a,mike,9/input: name and presence22/input: the day to be queried 要求根据…

conda install xformers -c xformers/label/dev 的安装问题

在StableSR项目框架中&#xff0c;需要执行 conda install xformers -c xformers/label/dev 但是报错&#xff0c;错误显示&#xff0c;版本不匹配&#xff0c;如下所示&#xff1a; 我改用pip来安装&#xff0c;好像就不报错了&#xff1a; pip install xformers