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

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.lryc.cn/news/296725.html

相关文章:

  • 寒假作业7
  • 【0257】关于pg内核shared cache invalidation messages (概念篇)
  • Nginx 缓存集成、清除、设置不缓存资源
  • C++面试宝典第27题:完全平方数之和
  • webrtc native api的几个要点
  • MinMaxScaler, StandardScaler数据预处理中常用的两种缩放方法,用于将数据标准化或归一化到特定的范围或分布
  • 【Web】vulhub Shiro-550反序列化漏洞复现学习笔记
  • 【论文精读】多模态情感分析 —— VLP-MABSA
  • SQL SELECT TOP, LIMIT, ROWNUM 子句
  • 金融信贷风控评分卡模型
  • 【java苍穹外卖项目实战二】苍穹外卖环境搭建
  • 在 Ubuntu 22.04 上安装 Django Web 框架的方法
  • JVM Java虚拟机入门指南
  • 【错误文档】This与Here的区别、主系表结构、如何合并两个句子、祈使句结构
  • Java入门之JavaSe(韩顺平p1-p?)
  • TCP的连接和断开详解
  • armbian ddns
  • MQTT 服务器(emqx)搭建及使用
  • 【flink状态管理(四)】MemoryStateBackend的实现
  • 前端架构: 脚手架在前端研发流程中的意义
  • Qt网络编程-QTcpServer的封装
  • 【MySQL】_JDBC编程
  • 微信小程序编译出现 project.config.json 文件内容错误
  • 一周学会Django5 Python Web开发-Django5创建项目(用命令方式)
  • DockerUI如何部署结合内网穿透实现公网环境管理本地docker容器
  • UML之在Markdown中使用Mermaid绘制类图
  • Spring Boot + 七牛OSS: 简化云存储集成
  • C++:二叉搜索树模拟实现(KV模型)
  • npm淘宝镜像源换新地址
  • 十大排序算法之线性时间非比较类排序