pnpm + vite 从外网迁移到内网环境开发

离线安装pnpm

  1. 在有外网的机器上执行以下命令,下载pnpm的tgz压缩包至桌面,注意下载版本和当前使用版本保持一致
bash 复制代码
npm pack -g pnpm@7.4.0 --pack-destination ~/Desktop
  1. 将tgz压缩包拷贝至离线机器
  2. 在离线机器中执行命令
bash 复制代码
npm -g i /home/user/offline/pnpm-7.4.0.tgz

参考: 如何离线安装pnpm - 知乎

复制源码

  1. 复制整个项目代码,重点是node_modulespnpm-lock.yaml
  2. 复制.pnpm-store文件夹,该文件夹位置在项目代码同级根目录下。例如项目代码在E:/project/project1。E:/.pnpm-store。注意该文件夹为隐藏文件夹,并且该文件夹要在pnpm install后才会出现。
  3. 将这两个文件夹复制到内网相同目录下。例如都复制到E盘下,不要改目录结构
  4. 进入C:\Users\Admin\AppData\Local\。复制pnpm-cache文件夹至内网相同目录下。用户名目录可能不一致。注意AppData文件夹为隐藏文件夹。
  5. 进入内网E盘下的项目代码目录,打开命令行工具,执行pnpm install命令,等待执行完成。
  6. 如果pnpm install执行报错也不要紧,继续执行pnpm dev
  7. 如果提示vite命令不存在,可以看下node_modules/.bin文件夹下是否有vite.CMD。如果没有,重新从外网环境中拷贝一份即可。

离线安装"新"依赖(windows)

  1. 迁移完毕后,如果现有项目需要一个新的依赖包,又在离线的情况下,可以先去node_modules/.pnpm/node_modules文件夹下去查看,已安装依赖中,有没有添加该依赖,如果有可以直接在项目中引用
  2. 因为pnpm的原理是,如果有项目/依赖都是用了该依赖,那么该依赖包只安装一次,然后在项目中对其添加一个符号链接文件夹(软连接)
  3. 按照这个原理,我们就可以先查看一下添加该依赖的项目中的软连接地址。比如已安装该依赖的项目是A,需要添加的项目是B,该依赖为C,执行一下命令。
bash 复制代码
dir /al E:\B\node_modules\A\node_modules

输出

2024/01/09 14:36 <JUNCTION> C [E:\B\node_modules.pnpm\A\node_modules\C]

  1. 在B项目的node_modules目录下执行添加软连接的命令,即可在B项目下正常使用C依赖。
bash 复制代码
mklink /j C E:\B\node_modules\.pnpm\A\node_modules\C
相关推荐
qq_3323942013 小时前
pnpm的坑
前端·vue·pnpm
前端扎啤3 天前
高效前端开发:解密pnpm的存储与链接
前端·前端框架·npm·pnpm·依赖
小玲子小玲子15 天前
pnpm run build报错throw new Error(‘Callback was already called.‘);
javascript·pnpm
天下布武81 个月前
使用 PNPM 从 0 搭建 monorepo,测试并发布
pnpm·monorepo·storybook·lit·webcomponents
开发小途1 个月前
pnpm包管理器总结
npm·pnpm·yarn
夏微微~~1 个月前
vue2转vue3初步下载pnpm遇到的问题 pnpm : 无法加载文件 D:\nodejs\pnpm.ps1
pnpm·vue3
loriloy2 个月前
node pnpm修改默认包的存储路径
pnpm
小玲子小玲子2 个月前
pnpm install报错 Value of “this“ must be of type URLSearchParams
pnpm·node
空白诗2 个月前
npm、yarn与pnpm详解
前端·npm·node.js·pnpm·yarn
捶捶自己2 个月前
pnpm安装指南
npm·pnpm