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.mzph.cn/news/670839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令-arpwatch命令(监听网络上ARP的记录)

说明 arpwatch命令 用来监听网络上arp的记录。 语法 arpwatch(选项)选项 -d&#xff1a;启动排错模式&#xff1b; -f<记录文件>&#xff1a;设置存储ARP记录的文件&#xff0c;预设为/var/arpwatch/arp.dat&#xff1b; -i<接口>&#xff1a;指定监听ARP的接口…

[Lucene]核心类和概念介绍

先上一个使用Lucene读写文件的DEMO import java.io.IOException; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; impo…

互联网加竞赛 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

大型语言模型(LLM)的优势、劣势和风险

最近关于大型语言模型的奇迹&#xff08;&#xff09;已经说了很多LLMs。这些荣誉大多是当之无愧的。让 ChatGPT 描述广义相对论&#xff0c;你会得到一个非常好&#xff08;且准确&#xff09;的答案。然而&#xff0c;归根结底&#xff0c;ChatGPT 仍然是一个盲目执行其指令集…

进程控制(Linux)

进程控制 一、进程创建1. 再识fork2. 写时拷贝 二、进程终止前言——查看进程退出码1. 退出情况正常运行&#xff0c;结果不正确异常退出 2. 退出码strerror和errno系统中设置的错误码信息perror异常信息 3. 退出方法exit和_exit 三、进程等待1. 解决等待的三个问题2. 系统调用…

银行数据仓库体系实践(17)--数据应用之营销分析

营销是每个银行业务部门重要的工作任务&#xff0c;银行产品市场竞争激烈&#xff0c;没有好的营销体系是不可能有立足之地&#xff0c;特别是随着互联网金融发展,金融脱媒”已越来越普遍&#xff0c;数字化营销方兴未艾&#xff0c;银行的营销体系近些年也不断发展&#xff0c…

Go语言教学(一)起源

目录 一.Go语言来源 二.Go语言应用 一.Go语言来源 Go语言&#xff0c;又称Golang&#xff0c;是Google公司于2009年11月正式对外公开的一门编程语言。它是一门静态强类型、编译型的语言&#xff0c;其语法与C相近&#xff0c;但在功能上有所改进和增加&#xff0c;如内存安全…

【精选】java继承进阶,子类继承父类(内存图、内存分析工具)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

ftrace工具学习笔记

ftrace是一个功能强大的Linux内核跟踪工具&#xff0c;可用于分析内核的行为和性能问题。它可以用来收集各种内核跟踪数据&#xff0c;如函数调用、内存分配、中断处理等。以下是ftrace的一些主要特点和用法&#xff1a; ftrace是内核自带的跟踪工具&#xff0c;因此无需安装。…

FRP内网穿透如何避免SSH暴力破解(二)——指定地区允许访问

背景 上篇文章说到&#xff0c;出现了试图反复通过FRP的隧道&#xff0c;建立外网端口到内网服务器TCP链路的机器人&#xff0c;同时试图暴力破解ssh。这些连接造成了流量的浪费和不必要的通信开销。考虑到服务器使用者主要分布在A、B、C地区和国家&#xff0c;我打算对上一篇…

ELAdmin 前端启动

开发工具 官方指导的是使用WebStorm&#xff0c;但是本人后端开发一枚&#xff0c;最终还是继续使用了 idea&#xff0c;主打一个能用就行。 idea正式版激活方式&#xff1a; 访问这个查找可用链接&#xff1a;https://3.jetbra.in/进入任意一个能用的里面&#xff0c;顶部提…

消息中间件之RocketMQ源码分析(六)

Consumer消费方式 RocketMQ的消费方式包含Pull和Push两种 Pull方式。 用户主动Pull消息&#xff0c;自主管理位点&#xff0c;可以灵活地掌控消费进度和消费速度&#xff0c;适合流计算、消费特别耗时等特殊的消费场景。 缺点也显而易见&#xff0c;需要从代码层面精准地控制…

vue3+ts+vite搭建步骤

vue3 ts vite搭建步骤如下&#xff1a; 1&#xff0c;首先确保你的机器上已经安装了 Node.js 和 npm。你可以通过在终端运行 node -v 和 npm -v 来检查是否已经安装。 2&#xff0c;安装 Vite。在你的终端运行以下命令 npm install -g create-vite3&#xff0c;使用 Vite 创…

docker部署自己的网站wordpress

目录 安装 1.创建目录 2.创建并启动mysql 3.创建并启动wordpress 使用 1.设置语言 2.设置基础信息 3.首页 安装 1.创建目录 mkdir -p /opt/wordpress/{db,data} 2.创建并启动mysql docker run -d --name my_mysql --restart always -e MYSQL_ROOT_PASSWORD123456 -e …

深度学习本科课程 实验1 Pytorch基本操作

一、Pytorch基本操作考察 1.1 任务内容 使用 &#x1d413;&#x1d41e;&#x1d427;&#x1d42c;&#x1d428;&#x1d42b; 初始化一个 &#x1d7cf;&#x1d7d1; 的矩阵 &#x1d474; 和一个 &#x1d7d0;&#x1d7cf; 的矩阵 &#x1d475;&#xff0c;对两矩阵…

home work day5

第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} …

flutter使用qr_code_scanner扫描二维码

qr_code_scanner仓库地址&#xff1a;qr_code_scanner | Flutter Package 需要添加android和ios的相机权限和本地相册权限&#xff1a; android中添加权限: 在android\app\build.gradle中修改&#xff1a;minSdkVersion 20 并且在android/app/src/main/AndroidManifest.xml中…

【力扣】Z字形变换,模拟+直接构造

Z字形变换原题地址 方法一&#xff1a;利用二维矩阵模拟 对于特殊情况&#xff0c;z字形变换后只有一行或只有一列&#xff0c;则变换后的字符串和原字符串相同。 对于一般情况&#xff0c;我们可以考虑按照题目要求&#xff0c;把字符串按照Z字形存储到二维数组中&#xff…

【linux】git和gdb调试工具

在linux下提交代码同步到gitee 1.创建一个新的仓库&#xff08;演示步骤&#xff09; 2.init 这两个步骤用于识别提交代码的身份&#xff0c;一个你的名字&#xff0c;一个你的邮箱 开启本地仓库 克隆本地仓库成功 我们将这个仓库拷到了111目录底下. 我们发现少了一个.gitig…

测试python模块每个模块耗时

1.安装包 pip install snakeviz2. 运行测试 # 模块测试运行命令 PYTHONPATH$PWD python -m cProfile -o profile.stats_v2 new_core/schemes/cost_bom/bom_server.py #可视化运行的结果 python -m snakeviz profile.stats_v2 --server -H 0.0.0.0 -p 80813. 参数解释 cProfil…