外网pnpm安装的node_modules包迁移到内网环境提示node_modules will be removed and reinstalled from scratch.Proceed?
背景
由于内网没有所需的node包,于是在外网使用pnpm install安装后将node_modules复制到内网的项目目录下,内网执行pnpm install后提示node_modules will be removed and reinstalled from scratch.Proceed?,无论选择是否执行都会删除复制过来的node包并重新下载,由于内网环境所以下载失败404。

原因
当前存储库不是内网环境中pnpm所配置的,需要重新指向新的存储库
解决
- 除了node_modules还需要复制.pnpm-store文件夹,这个是个隐藏文件夹,可以用everything软件找一下。将其一起复制到内网环境中并替换原有.pnpm-stor文件夹。
- 打开出问题的项目目录中的node_modules文件夹,最下面有一个.modules.yaml文件拉到最下面修改storeDir和virtualStoreDir地址。

- 修改virtualStoreDir为当前项目的.pnpm文件夹
修改storeDir为新的.pnpm-store\v3文件夹 - 重新执行pnpm install即可
二编
注意需要确定内外网的node和pnpm版本一致,项目中有一个pnpm-lock.yaml文件,用于锁定依赖版本,如果内网外版本不一致,即时按上述修改也会出现node_modules will be removed and reinstalled from scratch.Proceed?的报错。
本文来自博客园,作者:日报初级开发工程师,转载请注明原文链接:https://www.cnblogs.com/april-code/p/18814582

浙公网安备 33010602011771号