当前位置: 首页 > article >正文

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

离线安装pnpm

  1. 在有外网的机器上执行以下命令,下载pnpm的tgz压缩包至桌面,注意下载版本和当前使用版本保持一致
npm pack -g pnpm@7.4.0 --pack-destination ~/Desktop
  1. 将tgz压缩包拷贝至离线机器
  2. 在离线机器中执行命令
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,执行一下命令。
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依赖。
mklink /j C E:\B\node_modules\.pnpm\A\node_modules\C

http://www.kler.cn/a/229712.html

相关文章:

  • Kubernetes集群架构
  • 服务器多节点 Grafana、Prometheus 和 Node-Exporter Docker版本部署指南
  • linux网络 | https前置知识 | 数据加密与解密、数据摘要
  • Spring——自动装配
  • cmake - build MS STL project
  • 【推荐算法】userid是否建模
  • Java设计模式大全:23种常见的设计模式详解(一)
  • 【知识整理】一文理解系统服务高可用
  • Express框架介绍—node.js
  • 假期day4,链表增加与删除(2024/2/5)
  • 1、深度学习环境配置相关下载地址整理(cuda、cudnn、torch、miniconda、pycharm、torchvision等)
  • Unity之协同程序
  • 如何在HA智能家居系统中添加HACS集成并实现异地控制家中苹果与小米设备
  • Android Compose 一个音视频APP——Magic Music Player
  • [Linux] 网络编程套接字
  • ChatGPT Plus如何升级?信用卡付款失败怎么办?如何使用信用卡升级 ChatGPT Plus?
  • 算法学习——LeetCode力扣哈希表篇2
  • MIT_线性代数笔记:第 34 讲 总复习
  • vue3 之 商城项目—layout静态模版结构搭建
  • 网络版本计算器
  • MySQL5.7 百万数据迁移到 ElasticSearch7.x
  • LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】
  • 回归测试:在不断变化的环境中确保软件的稳定性
  • Python初学者学习记录——python基础综合案例:数据可视化——动态柱状图
  • Vue(二十):ElementUI 扩展实现表格组件的拖拽行