pnpm项目内网迁移
pnpm项目内网迁移
文章目录
- pnpm项目内网迁移
- 0.前言
- 1.基础环境安装
- 2.构建pnpm离线安装包
- 3.使用pnpm重新安装项目依赖
- 4.项目迁移
- 参考链接:
0.前言
要将一个依赖pnpm的项目迁移到内网离线环境下进行开发。
1.基础环境安装
要保证NodeJS版本一致,否则执行pnpm i
时可能会出现与pnpm-lock.yaml
中不兼容导致的问题。
查看本机的Node版本:
node -v
NodeJS各个版本的下载地址:https://nodejs.org/download/release/
将下载好的nodejs安装包拷贝到内网计算机进行安装。
2.构建pnpm离线安装包
先在本机上随便创建一个空项目,比如test文件夹下:
# npm初始化空项目,中途全部回车键默认
npm init
# 查看当前机器安装的pnpm版本,如果版本不一致,在后面pnpm i时可能会出现`node_modules will be removed and reinstalled from scratch.Proceed`的问题
# 安装特定版本的pnpm依赖
npm i pnpm@8.11.0 --install-strategy=shallow
# 切换到node_modules文件夹下,将pnpm打包后拷贝到内网计算机
3.使用pnpm重新安装项目依赖
在安装依赖前,先手动修改一下pnpm的默认配置:
# 包元数据缓存的位置。
pnpm config set cache-dir "E:\pnpm-store\pnpm-cache"
# pnpm 创建的当前仅由更新检查器使用的 pnpm-state.json 文件的目录。
pnpm config set state-dir "E:\pnpm-store\pnpm-state"
# 指定储存全局依赖的目录。
pnpm config set global-dir "E:\pnpm-store\global"
# 所有包被保存在磁盘上的位置。
pnpm config set store-dir "E:\pnpm-store\pnpm-store"
切换到前端项目路径下,删除node_modules文件夹,执行pnpm i
命令,然后检查E:\pnpm-store\pnpm-store
下应该有v3/file
的文件夹,将E:\pnpm-store
整个文件夹打包。然后删除前端项目的node_modules
文件夹,将整个前端项目打包。将打包好的前端项目包和pnpm-store
拷贝到内网计算机。
4.项目迁移
现在内网机上应该有3个包:pnpm.zip
、pnpm-store.zip
和前端项目包
。
首先解压pnpm.zip
,在同级目录下打开控制台窗口,执行下面命令:
npm i -g pnpm/
# 安装后,查看pnpm版本,是否与外部计算机的版本一致
pnpm -v
解压pnpm-store.zip
,路径任选。
修改pnpm配置(注意路径要和解压的路径匹配):
pnpm config set cache-dir "E:\pnpm-store\pnpm-cache"
# pnpm 创建的当前仅由更新检查器使用的 pnpm-state.json 文件的目录。
pnpm config set state-dir "E:\pnpm-store\pnpm-state"
# 指定储存全局依赖的目录。
pnpm config set global-dir "E:\pnpm-store\global"
# 所有包被保存在磁盘上的位置。
pnpm config set store-dir "E:\pnpm-store\pnpm-store"
解压前端项目包,切换到前端项目路径下,执行pnpm install
,等待安装完成。完成后即可启动项目pnpm run dev
。
参考链接:
[1]. pnpm项目内网迁移技巧
[2]. 外网pnpm安装的node_modules包迁移到内网环境提示node_modules will be removed and reinstalled from scratch.Proceed?