离线环境先装nodejs
在有网环境下载对应node安装包即可,尽量保证版本一致。
外网地址:nodejs官方下载 , 选择 Windows 64-bit 的 LTS 版本 (比如 node-v22.14.0-x64.msi)。
验证
bash
node -v
npm -v
安装 pnpm
先在外网打包pnpm
bash
npm pack pnpm
这个命令会从 npm 官方仓库下载 pnpm 的最新版本,并打包成一个 .tgz 文件,例如 pnpm-10.12.4.tgz。
可根据项目指定版本
bash
npm pack pnpm@9.9.1
离线环境安装pnpm
bash
npm install -g pnpm-10.12.4.tgz
-g 表示全局安装,这样你可以在任何目录下使用 pnpm 命令
验证
bash
pnpm -v
复制pnpm硬链接文件.pnpm-store
.pnpm-store为pnpm依赖硬链接文件,隐藏属性 ,存放于项目代码所在磁盘根目录(如D:.pnpm-store),将其复制到内网电脑相同磁盘根目录。
如果你不确定目前的 store 设定在哪,可以先查询:
bash
pnpm store path
更换 store 的位置
bash
// 设置依赖包的存放目录
pnpm config set store-dir "D:\.pnpm-store" // 路径根据实际情况修改
若失败,可以手动修改项目的.npmrc文件,增加store-dir=D:\.pnpm-store
验证:
bash
pnpm config get store-dir
想要在外网重新生成.pnpm-store
-
在项目根目录或全局配置pnpm,指定离线镜像的路径(例如放在项目下的 .pnpm-store 文件夹)
bashpnpm config set store-dir ./.pnpm-store如果你希望全局使用,可以加 --global 标志
-
告诉pnpm将包文件链接到镜像(重要!)
bashpnpm config set package-import-method copy -
在外网环境下执行安装,此时所有包(包括私有包)的 tarball 都会被下载并拷贝到
./.pnpm-store目录中bashpnpm install
对应的离线环境操作
-
进入项目根目录,配置pnpm使用当前目录下的离线镜像
bashpnpm config set store-dir ./.pnpm-store pnpm config set package-import-method copy -
执行安装。此时pnpm不会再尝试从网络下载,而是直接从本地的 .pnpm-store 镜像中提取包文件。
bashpnpm install --offline
复制pnpm依赖缓存文件 pnpm-cache
pnpm默认缓存路径:C:\Users\你的用户名\AppData\Local\pnpm-cache
将整个pnpm-cache文件夹复制到内网电脑相同路径
该文件夹下metadata目录会按源地址分类存放依赖,如localhost+8081、registry.npmmirror.com。
更换 cache 的位置
bash
// 设置缓存目录
pnpm config set cache-dir "C:\Users\你的用户名\AppData\Local\pnpm-cache" // 路径根据实际情况修改
验证:
bash
pnpm config get cache-dir
迁移项目代码
删除node_modules文件夹;
压缩项目代码(必须包含pnpm-lock.yaml文件,用于锁定依赖版本);
离线安装依赖并运行项目
bash
pnpm install --offline
报错
-
将
pnpm-cache/metadata-v1.3的registry.npmmirror.com文件夹名称改为registry.npmjs.org

项目依赖pnpm版本9.15.1,从外网重新打包pnpm并指定版本,在离线电脑重新安装pnpm
- pnpm run dev 报错
Command failed with exit code 3221225781

此错误可能是由于缺少 Visual C++ Redistributable 或其他系统库。
解决方法: 下载并安装Microsoft Visual C++ Redistributable。
建议下载 x64 版本的(即使你的电脑是 64 位系统,有时也需要同时安装 x86 版本)。安装完成后重启电脑,再次运行 pnpm run dev 试试。

简略版本示例过程:
外网电脑:
bash
pnpm i
复制.pnpm-store,pnpm-cache,项目代码(不包含node_modules)到离线环境
离线环境:
安装nodejs,pnpm,
bash
// 设置依赖包的存放目录
pnpm config set store-dir "D:\.pnpm-store" // 路径根据实际情况修改
或者修改.npmrc文件
bash
//设置缓存目录
pnpm config set cache-dir "C:\Users\你的用户名\AppData\Local\pnpm-cache" // 路径根据实际情况修改
bash
pnpm install --offline
参考:
离线安装 pnpm:给内网 Windows 电脑装上"万能工具箱"