pnpm项目内网迁移

pnpm项目内网迁移

文章目录

0.前言

要将一个依赖pnpm的项目迁移到内网离线环境下进行开发。

1.基础环境安装

要保证NodeJS版本一致,否则执行pnpm i时可能会出现与pnpm-lock.yaml中不兼容导致的问题。

查看本机的Node版本:

bash 复制代码
node -v

NodeJS各个版本的下载地址:https://nodejs.org/download/release/

将下载好的nodejs安装包拷贝到内网计算机进行安装。

2.构建pnpm离线安装包

先在本机上随便创建一个空项目,比如test文件夹下:

bash 复制代码
# 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的默认配置:

bash 复制代码
# 包元数据缓存的位置。
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.zippnpm-store.zip前端项目包

首先解压pnpm.zip,在同级目录下打开控制台窗口,执行下面命令:

bash 复制代码
npm i -g pnpm/
# 安装后,查看pnpm版本,是否与外部计算机的版本一致
pnpm -v

解压pnpm-store.zip,路径任选。

修改pnpm配置(注意路径要和解压的路径匹配):

bash 复制代码
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项目内网迁移技巧](https://blog.csdn.net/qq_38189542/article/details/136331798) \[2\]. [外网pnpm安装的node_modules包迁移到内网环境提示node_modules will be removed and reinstalled from scratch.Proceed?](https://blog.csdn.net/chunhev5/article/details/142206133)

相关推荐
摇滚侠2 天前
PNPM 包管理工具和 NPM 包管理工具
vscode·npm·node.js·pnpm
gsls20080812 天前
jenkins插件 Publish Over SSH 离线下载安装配置
ubuntu·ssh·jenkins·插件·离线
怒放的生命199118 天前
pnpm + Monorepo 使用教程(集成 Vue 3 项目)
前端·vue.js·pnpm·monorepo·前端工程化
寂夜了无痕19 天前
pnpm:快速、节省空间的 Node.js 包管理器
npm·node.js·pnpm
千里马-horse1 个月前
pnpm 安装教程
node.js·pnpm
Irene19911 个月前
Vue3 项目 npm 与 pnpm 混用解决方案
npm·node.js·pnpm
Irene19911 个月前
pnpm 和 npm 安装 TypeScript 的区别(附:Vue 项目常用工具安装命令总结、命令缩写、精确版本)
npm·pnpm·-d·-g·--save
昔人'1 个月前
`corepack` 安装pnpm
前端·pnpm·node·corepack
LYFlied2 个月前
【一句话概括】前端项目包管理器怎么选?
前端·npm·pnpm·yarn
Irene19912 个月前
解决 pnpm 构建脚本被阻止(Ignored build scripts)的问题
pnpm