使用 pnpm 安装依赖包后,如果将依赖包直接复制内网环境中,可能会出现无法使用的情况,且不能联网下载,如何解决?
pnpm
默认使用硬链接(hard link)来共享依赖包,以减少磁盘空间占用。硬链接的特性是:
-
硬链接指向磁盘上的同一文件,而不是复制文件内容。
-
如果直接复制硬链接文件,目标文件可能无法正确引用原始文件,导致依赖包失效。
-
在内网环境中既没有pnpm 又没有安装包 怎么让copy的项目正常运行呢?
第一步:在有网环境中将 pnpm下载打包
执行 npm pack pnpm@8.2.0 得到 pnpm-8.2.0.tgz 文件
第二步:离线环境中
# 复制 pnpm-8.2.0.tgz 到离线环境
npm install -g ./pnpm-8.2.0.tgz
执行完此命令后 离线环境中的pnpm 已经装好 可以通过pnpm -v检查
第三步:复制有网环境中的pnpm_store至离线环境中
第四步:pnpm install --offline 至此离线环境中依赖包安装成功