离线下载npm包

离线下载npm包

方案一:使用 npm pack 下载单个包(简单快速)

在联网电脑上操作:

bash 复制代码
# 下载特定版本的包
npm pack ms@2.1.3

# 下载包及其所有依赖(推荐)
npm pack ms@2.1.3 --pack-destination ./offline-packages

# 如果需要下载多个包
npm pack debug@4.3.4 ms@2.1.3 --pack-destination ./offline-packages

在离线电脑上操作:

bash 复制代码
# 安装下载的包
npm install ./offline-packages/ms-2.1.3.tgz

# 或者直接指定文件
npm install ms-2.1.3.tgz

方案二:批量下载项目所有依赖(推荐)

在联网电脑上:

bash 复制代码
# 1. 创建临时目录
mkdir npm-offline-installer
cd npm-offline-installer

# 2. 复制你的 package.json
cp /path/to/your/package.json ./

# 3. 下载所有依赖到本地
npm install --prefer-offline --no-audit --progress=false

# 4. 打包整个 node_modules
tar -czf node_modules.tar.gz node_modules/

# 或者使用 npm-pack-all(如果有的话)
npx npm-pack-all

在离线电脑上:

bash 复制代码
# 解压到项目目录
tar -xzf node_modules.tar.gz

# 或者直接复制 node_modules 文件夹到项目根目录

方案三:使用 npm-bundle 创建离线包

在联网电脑上安装工具:

bash 复制代码
# 安装 npm-bundle 工具
npm install -g npm-bundle

# 进入你的项目目录(有package.json的地方)
cd /path/to/your/project

# 创建离线安装包
npm-bundle

# 这会生成一个 .tar.gz 文件包含所有依赖

方案四:手动创建本地仓库(适合大项目)

在联网电脑上:

bash 复制代码
# 1. 创建本地仓库目录
mkdir local-npm-repo
cd local-npm-repo

# 2. 初始化本地仓库
npm init -y

# 3. 下载需要的包
npm install ms@2.1.3 --save
npm install debug@4.3.4 --save
# ... 其他需要的包

# 4. 创建仓库压缩包
cd ..
tar -czf local-npm-repo.tar.gz local-npm-repo/

在离线电脑上:

bash 复制代码
# 1. 解压本地仓库
tar -xzf local-npm-repo.tar.gz

# 2. 配置本地仓库
echo "registry=file://$(pwd)/local-npm-repo" > .npmrc

# 3. 安装依赖
npm install

方案五:使用 verdaccio 搭建离线仓库(企业级方案)

在联网电脑上:

bash 复制代码
# 1. 安装 verdaccio
npm install -g verdaccio

# 2. 启动本地仓库
verdaccio

# 3. 配置并发布包到本地仓库
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873

# 4. 备份整个 verdaccio 存储目录
tar -czf verdaccio-storage.tar.gz ~/.local/share/verdaccio/

最简单的解决方案(针对你的具体问题):

bash 复制代码
# 在联网电脑上
mkdir ms-package
cd ms-package
npm pack ms@2.1.3
# 会生成 ms-2.1.3.tgz 文件

# 复制这个文件到离线电脑,然后在项目目录运行:
npm install ./ms-2.1.3.tgz

验证安装:

bash 复制代码
# 检查包是否正确安装
npm ls ms
node -e "console.log(require('ms'))"

推荐使用方案二或方案五,因为它们可以解决所有依赖问题,避免后续还需要下载其他缺失的包。

相关推荐
福兮说5 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理5 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆6666 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)6 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan7 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_7 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒8 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技8 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
yivifu8 小时前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub
niyongsheng9 小时前
后端零改动,给若依换一套现代化前端
vue.js·开源·node.js