vue pnpm离线安装

离线环境先装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
  1. 在项目根目录或全局配置pnpm,指定离线镜像的路径(例如放在项目下的 .pnpm-store 文件夹)

    bash 复制代码
    pnpm config set store-dir ./.pnpm-store

    如果你希望全局使用,可以加 --global 标志

  2. 告诉pnpm将包文件链接到镜像(重要!)

    bash 复制代码
    pnpm config set package-import-method copy
  3. 在外网环境下执行安装,此时所有包(包括私有包)的 tarball 都会被下载并拷贝到./.pnpm-store目录中

    bash 复制代码
    pnpm install

对应的离线环境操作

  1. 进入项目根目录,配置pnpm使用当前目录下的离线镜像

    bash 复制代码
    pnpm config set store-dir ./.pnpm-store
    pnpm config set package-import-method copy
  2. 执行安装。此时pnpm不会再尝试从网络下载,而是直接从本地的 .pnpm-store 镜像中提取包文件。

    bash 复制代码
    pnpm 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

报错

  1. pnpm-cache/metadata-v1.3registry.npmmirror.com文件夹名称改为registry.npmjs.org

项目依赖pnpm版本9.15.1,从外网重新打包pnpm并指定版本,在离线电脑重新安装pnpm

  1. 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 电脑装上"万能工具箱"

vue项目(pnpm)迁移到无网环境开发

pnpm老是默认把包安装在C盘很头疼?教你快速配置pnpm的全局目录

PNPM库离线安装方案

【总结】外网向内网导包的坎坷之旅