如何下载npm离线安装包

如何将本地nodejs库,放入到nexus的npm库

在代码工程目录使用 npm install 安装 package.json 所依赖的文件,并依赖下载到 node_modules 目录

1、通过 package.json安装依赖

例如:项目依赖文件 package.json, 将其拷贝有网的机器,执行 npm install安装依赖

{"name": "test","version": "1.0.0""dependencies": {"base64-js": "^1.5.1"},"devDependencies": {"css-loader": "^1.0.0"}
}

2、查看依赖组件

执行npm install后会多出一个node_modules目录和一个package-lock.json文件,且node_modules 目录每个依赖项的都有一个package.json

[root@x test]# tree -C -L 3
.
├── node_modules        # 已经下载完成的资源
│   ├── base64-js
│   │   ├── base64js.min.js
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── css-loader
│   │   ├── CHANGELOG.md
│   │   ├── index.js
│   │   ├── lib
│   │   ├── LICENSE
│   │   ├── locals.js
│   │   ├── package.json
│   │   └── README.md
│   ├── postcss-modules-values
│   │   ├── lib
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   └── test
│   ├── .....
├── package.json       # 项目所需要的各种模块配置信息
└── package-lock.json  # 锁定实际已安装的各个npm package的具体来源和版本号

进入node_modules/base64-js目录,查看package.json文件,有个_resolved 属性是一个URL地址,在浏览器地址栏输入url即可下载,包名为:name+version就是tgz的包名;

[root@x test]# cd node_modules/base64-js/
[root@x base64-js]# ls
base64js.min.js  index.d.ts  index.js  LICENSE  package.json  README.md
[root@x base64-js]# cat package.json
{"name": "base64-js","version": "1.5.1","devDependencies": {"babel-minify": "^0.5.1","benchmark": "^2.1.4","browserify": "^16.3.0","standard": "*","tape": "4.x"},"_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz","repository": {"type": "git","url": "git://github.com/beatgammit/base64-js.git"},"...":"..."
}

查看package-lock.json文件,从resolved属性可以看到具体的下载地址

{"name": "test","version": "1.0.0","lockfileVersion": 1,"requires": true,"dependencies": {"base64-js": {"version": "1.5.1","resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"},"css-loader": {"version": "1.0.1","resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz"},"postcss": {"version": "6.0.23","resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz","dev": true,"requires": {"chalk": "^2.4.1","source-map": "^0.6.1","supports-color": "^5.4.0"},"dependencies": {"ansi-styles": {"version": "3.2.1","resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz","dev": true,"requires": {"color-convert": "^1.9.0"}},...}},...}
}

3、下载npm的*.tgz包

最终想要是base64-js-1.5.1.tgz这种npm包,以便于发布到私有npm仓库;

** 总结几种方式:**

3.1 方式1: 通过 package.json_resolved属性链接下载

wget https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz

3.2 方式2: 通过 package-lock.jsonresolved属性链接下载

wget https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz

3.3 方式3:本地直接打包方式

将组件目录base64js.min.js 、 index.d.ts 、 index.js 、 LICENSE、 package.json 、 README.md等文件拷贝到package文件夹里,然后执行如下命令,命名采用 name-version.tgz

tar -zcvf base64-js-1.5.1.tgz package

4、批量下载

使用**node-tgz-downloader工具下载
https://github.com/Meir017/node-tgz-downloader `

download-tgz package-lock package-lock.json
# 下载完成,查看依赖下载目录 tarballs 以及npm tgz格式的依赖

当包下载量过大时会提示下载失败,有可能是镜像仓库服务端做了限制,后续有时间自行实现下载,也快将文件分割成小份尝试,减少一次频繁下载量,尚未测试

[failed download tgz] undefined https://registry.npmmirror.com/happypack/-/happypack-5.0.1.tgz 4
[failed download tgz] undefined https://registry.npmmirror.com/isurl/-/isurl-1.0.0.tgz 5
[failed download tgz] undefined https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz 4

自己写了一个python的下载脚本:
批量下载npm离线安装包

如何批量上传npm到Nexus3、持续待更新

如何下载npm离线安装包相关推荐

  1. 如何下载flash离线安装包

    如何下载flash离线安装包 CreateTime--2018年4月14日16:02:13 Author:Marydon 1.下载地址 UpdateTime--2018年5月13日16点55分 ppa ...

  2. 离线安装nginx(包括离线安装gcc-g++环境,免费下载gcc离线安装包)

    离线安装nginx(包括离线安装gcc-g++环境) 有些时候我们的linux服务器无法连接公网的情况下就需要离线安装应用 检查电脑是否有gcc和gcc-c++环境 gcc -v g++ -v # 如 ...

  3. appinventor离线版下载_Chrome 离线安装包下载

    从 chrome 官网下载 chrome 浏览器,一般都是先下载一个安装器,然后打开安装器再下载安装包进行安装,安装过程需要联网. 下面这几个连接可以直接下载完整安装包,直接打开,离线安装. 最新稳定 ...

  4. linux如何下载rpm离线安装包到本机

    目的是下载rpm安装包,用于离线安装到其他机器上,两台机器的操作如下: 1.下载rpm包(这步在可以上网的Linux机器上操作): 1.1.确保本机linux可以联网: 1.2.执行指令,其中&quo ...

  5. 下载rpm离线安装包

    离线安装rpm包 yum 离线源制作方法 好多公司的服务器为了安全起见没有办法:连接外网,如果有没有yum源的话 ,我们可以自制一个yum源拷进去进行安装. 一.下载离线包rpm 在有网络的电脑上将依 ...

  6. 从微软官网下载VS离线安装包的方法VS2017,VS2019

    这里描述是包括所有版本,截图以下载VS2017社区版为例: ①登入VS官网下载页面,选择需要的版本点击下载,下载页点此进入. ②下载完成后,打开下载文件所在文件夹,Windows 8.1及以上版本用户 ...

  7. 下载 DropBox 离线安装包的方法

    在我的电脑 FQ 后, 去到 Dropbox 官网下载的时候. 始终都下下载不下来. 不知道是网络原因, 还是什么原因. 使用 IDM 也没有下载下来. 在下载的时候回出现如下的状态: 现在我们只需要 ...

  8. vs2019 中文离线安装包下载,类似ISO

    1. 通过在https://visualstudio.microsoft.com/zh-hans/downloads/ 下载VS2019, 之后会下载vs_enterprise__78682482.1 ...

  9. vs2019 中文离线安装包下载

    1. 通过在https://visualstudio.microsoft.com/zh-hans/downloads/ 下载VS2019, 之后会下载vs_enterprise__78682482.1 ...

最新文章

  1. Linux+Qt 下同一数据空间vfork多进程间通信的一种高效便捷方式(信号槽直接调用)
  2. 2400门课:MIT 开放迄今最全 计算机+电气工程课程
  3. 解决flex4 分辨率自适应问题
  4. Python 列表的应用场景有哪些?你使用对了吗?
  5. delphi listview怎么自动宽度_自动门日常使用出现这些问题应尽快维修以免因小失大...
  6. vue错误:vue.esm.js?efeb:628 [Vue warn]: Error in render: “TypeError: Cannot read property ‘matched‘ of
  7. 学php记不住函数,为什么都是记不住PHP 的函数名
  8. 手把手教你学dsp_新课免费看| 手把手教你学DSP,C2000从入门到精通
  9. 【Tomcat】安装Tomcat服务器Tomcat的目录结构
  10. 图论算法:稳定婚姻问题,如何找到最适合自己的另一半
  11. Apache Flink 在快手的过去、现在和未来
  12. spinlock变量没有初始化
  13. Android自定义View——动态ProgressBar之模仿360加速球
  14. 大一linux考试试题及答案,大一计算机期末考试试题及答案
  15. 文献写作:学术研究论文
  16. 抖音巨量百应怎么入驻?
  17. Python每日一记179文氏图绘制
  18. coursera “the media could not be loaded either because the server or network falled...“解决办法
  19. 迭代器怎么就节省内存了?
  20. 基于Arduino的智能家居系统设计

热门文章

  1. 关闭word/ppt后自动创建并打开新的文档
  2. JAVA序列化标准格式(XML、JSON)
  3. 单片机是不是嵌入式呢,老生常谈了
  4. 格式化数据恢复怎么做?超实用的3种方法在这!
  5. Google发布Chrome操作系统Chromebook和Chromebox 走亲民路线
  6. LInux-文本处理相关命令笔记
  7. 动力节点 SpringMVC P44-53
  8. P44 页面和接口实现
  9. marquee功能:marquee的速度怎么设置
  10. 第91届奥斯卡奖公布提名名单《罗马》《宠儿》10项提名领跑