一、迁移前准备
1.版本一致性检查
确保外网和内网环境的 Node.js 版本 和 pnpm版本 完全一致(可执行 node -v 和 pnpm -v 对比)。
项目需使用 pnpm-lock.yaml 文件锁定依赖版本,避免内外网依赖版本差异。

2.依赖存储目录处理
在外网机器上定位 pnpm全局存储目录(默认路径为 ~/.pnpm-store(一般都是在你项目所在的磁盘根目录下,该文件通常为隐藏目录) 或通过 pnpm config get store-dir 查看),将其完整打包。
删除项目中的 node_modules 目录,仅保留源码和 pnpm-lock.yaml 文件。

二、内网环境部署步骤
1.安装pnpm离线包
若内网无网络,需在外网通过 npm pack pnpm 生成离线包(如 pnpm-8.6.2.tgz ),传输到内网后执行 npm install -g pnpm-8.6.2.tgz 安装(在存在pnpm-8.6.2.tgz下打开终端安装)。

2.配置存储路径
解压外网传输的 .pnpm-store 目录到内网相同路径(如 E:\.pnpm-store),执行命令重置存储路径:

pnpm config set store-dir E:\.pnpm-store

3.依赖安装与验证
将项目源码(含 pnpm-lock.yaml )拷贝到内网,执行 pnpm install --offline 强制使用本地缓存安装
检查 node_modules 中的软链是否指向正确的存储目录(可通过 .modules.yaml 文件校验路径)

三、常见问题与解决方案

1.依赖缺失或路径错误
若报错提示存储路径不匹配,修改 .modules.yaml 中的 storeDir 和 virtualStoreDir 字段为内网实际路径。使用 pnpm fetch 命令预下载缺失依赖到存储目录。

2.幽灵依赖问题
若项目直接引用了未声明的子依赖,需在 .npmrc 中添加 public-hoist-pattern[]=依赖名 提升至根目录,或显式安装缺失包。

以上内容均为deepseek生成,本人仅加了点备注,deepseek牛逼!!!!!!其他搜索出来的都是乱七八糟的东西,还得是deepseek总结的牛逼啊

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐