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)

相关推荐
SuperEugene9 天前
Monorepo + pnpm workspace 落地实操:Vue 中后台多项目 / 组件库 / 公共包管理|Vue 工程化篇
前端·javascript·vue.js·pnpm·vite·monorepo
春波petal9 天前
MacOS快速配置pnpm与切换淘宝镜像
macos·pnpm
三天不学习1 个月前
pnpm 存储位置统一,解决磁盘空间焦虑
npm·pnpm
zhousenshan2 个月前
PNPM库离线安装方案
pnpm
摇滚侠2 个月前
PNPM 包管理工具和 NPM 包管理工具
vscode·npm·node.js·pnpm
gsls2008082 个月前
jenkins插件 Publish Over SSH 离线下载安装配置
ubuntu·ssh·jenkins·插件·离线
怒放的生命19912 个月前
pnpm + Monorepo 使用教程(集成 Vue 3 项目)
前端·vue.js·pnpm·monorepo·前端工程化
寂夜了无痕2 个月前
pnpm:快速、节省空间的 Node.js 包管理器
npm·node.js·pnpm
千里马-horse2 个月前
pnpm 安装教程
node.js·pnpm
Irene19912 个月前
Vue3 项目 npm 与 pnpm 混用解决方案
npm·node.js·pnpm