使用离线镜像(Offline Mirror) - 最优雅、最PNPM的方式
这是 PNPM 官方推荐的处理离线环境的方式。它会在内网电脑上创建一个所有依赖包的压缩文件(tarball)的本地存储库(镜像),然后你可以将这个镜像目录拷贝到外网电脑上使用。
第一步:在源机器上配置和创建离线镜像
TypeScript
# 1. 在项目根目录或全局配置pnpm,指定离线镜像的路径(例如放在项目下的 .pnpm-store 文件夹)
pnpm config set store-dir ./.pnpm-store
# 如果你希望全局使用,可以加 --global 标志
# 2. 告诉pnpm将包文件链接到镜像(重要!)
pnpm config set package-import-method copy
# 3. 在内网环境下执行安装,此时所有包(包括私有包)的 tarball 都会被下载并拷贝到 ./.pnpm-store 目录中
pnpm install
-
将整个项目文件夹(包括
pnpm-store目录)拷贝到外网机器压缩项目目录(包括
node_modules,.pnpm-store,pnpm-lock.yaml等所有文件)。通过U盘、移动硬盘或其他方式将压缩包转移到外网电脑。
第二步:在目标机器上配置并使用离线镜像
TypeScript
# 1. 解压项目
# 2. 进入项目根目录,配置pnpm使用当前目录下的离线镜像
pnpm config set store-dir ./.pnpm-store
pnpm config set package-import-method copy
# 3. 执行安装。此时pnpm不会再尝试从网络下载,而是直接从本地的 .pnpm-store 镜像中提取包文件。
pnpm install --offline
# `--offline` 参数强制pnpm不使用网络,只使用本地缓存和镜像。