Vite更新依赖缓存失败,强制更新依赖缓存

使用vite+ts开发一段时间了,感觉并不是想象中的好用,特别是出现些稀奇古怪的问题不好解决,比如下面这个问题

上午9:50:08 [vite] error while updating dependencies:
Error: ENOENT: no such file or directory, open 'E:/workspace-dir/node_modules/vue3-colorpicker/dist/index.es.js'   
    at Object.openSync (fs.js:497:3)
    at Object.readFileSync (fs.js:393:35)
    at extractExportsData (file:///E:/workspace-dir/node_modules/vite/dist/node/chunks/dep-2faf2534.js:42167:31)   
    at async runOptimizeDeps (file:///E:/workspace-dir/node_modules/vite/dist/node/chunks/dep-2faf2534.js:41843:29)
    at async optimizeNewDeps (file:///E:/workspace-dir/node_modules/vite/dist/node/chunks/dep-2faf2534.js:41246:16)
    at async runOptimizer (file:///E:/workspace-dir/node_modules/vite/dist/node/chunks/dep-2faf2534.js:41275:55)   

事情的原因是:项目是有个需求是需要拾色器功能(用的vue3-colorpicker),但是这个拾色器打包编译的时候总会出现些问题,想把它替换掉,于是执行yarn remove vue3-colorpicker将其node-modules移除并更新了package.json,下图可作证。

也有代码为例,已经删除了 

但是yarn dev启用项目的时候就会报上面的错误,vite某个文件依赖一个不存在的包,很明显的缓存没更新,对vite的印象再次降低 ,之前用vue-cli时候或者webpack的时候没有出现过这种情况。

解决尝试:

        开始以为node_modules有缓存,于是将yarn.lock删除,再次执行一遍yarn install更新node_modules,但是启动仍然报相同错误,也就是说删除yarn.lock再次安装也是存在问题,思维一时停滞,不知道如何下手,要不把node_modules包删除,再次执行一次安装,说干就干,问题解决,正常运行,也就是思路没问题,只是没找对缓存位置。

        后来专门去Vite官网找到了相关的章节,确实存在这样的问题。

    依赖预构建 | Vite 官方中文文档

文件系统缓存¶

Vite 会将预构建的依赖缓存到 node_modules/.vite。它根据几个源来决定是否需要重新运行预构建步骤:

  • package.json 中的 dependencies 列表
  • 包管理器的 lockfile,例如 package-lock.jsonyarn.lock,或者 pnpm-lock.yaml
  • 可能在 vite.config.js 相关字段中配置过的

只有在上述其中一项发生更改时,才需要重新运行预构建。

如果出于某些原因,你想要强制 Vite 重新构建依赖,你可以用 --force 命令行选项启动开发服务器,或者手动删除 node_modules/.vite 目录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/76748.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode33 搜索旋转排序数组

题解: /*** 旋转排序数组可分为N1 N2两个部分,如:[4,5,6,7,1,2,3],N1为[4,5,6,7],N2为[1,2,3]** 必然满足以下两个条件:* 1. N1和N2都是分别递增的;* 2. N1中的所有元素大于N2中的所有元素;** …

研发协同工具哪个好用?比较常用的研发协同工具及其特点

Zoho Projects是一款在线的SaaS研发协同工具,支持敏捷开发/DevOps/Scrum等项目协作,最大的特点就是“会说话”,意思是:它可以把在项目协作过程中重要和相关的消息和信息通过恰到好处的方式告诉你,解决:开发…

Mac OS minicom 无法设置921600问题

MacOS minicom 无法设置921600问题 介绍过程解决方案参考资料 介绍 minicom是Mac上一款非常好用的串口工具。本文假设你已经安装minicom,并且知道minicom的一般配置和使用方法。这是“MacOS minicom 无法设置921600”的解决问题记录。它在以下环境中设置成功&#…

HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

2023年8月6日华为开发者大会2023(HDC.Together)圆满收官,伴随着HarmonyOS 4的发布,华为向开发者发布了汇聚所有最新开发能力的HarmonyOS NEXT开发者预览版,并分享了围绕“一次开发,多端部署” “可分可合&a…

安防监控视频云存储平台EasyCVRH.265转码功能更新:新增分辨率配置

安防视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求,让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上,视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频云存储、视频存储…

docker compose部署zookeeper

单机部署 新建docker-compose.yaml version: 3 services:zookeeper:image: zookeeper:3.5.7container_name: base-zookeeperhostname: zookeeperprivileged: truerestart: alwaysports:- 2181:2181environment:TZ: "Asia/Shanghai"volumes:- ./volumes/zookeeper/d…

Python 处理 Excel 表格的 14 个常用操作

目录 1. 安装依赖库 2. 导入库 3. 读取Excel文件 4. 写入Excel文件 5. 创建工作表 6. 访问工作表 7. 读取单元格数据 8. 写入单元格数据 9. 获取行数和列数 10. 过滤数据 11. 排序数据 12. 添加新行 13. 删除行或列 14. 计算汇总统计 总结 无论是数据分析师、财…

实习笔记(一)

自定义注解: 自定义注解中有三个元注解Target,Retention,Document /*** 系统日志注解** author Mark sunlightcsgmail.com*/ Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) Documented public interface SysLog {String value() default "…

『C语言初阶』第八章 -隐式类型转换规则

前言 今天小羊又来给铁汁们分享关于C语言的隐式类型转换规则,在C语言中类型转换方式可分为隐式类型转换和显式类型转换(强制类型转换),其中隐式类型转换是由编译器自动进行,无需程序员干预,今天小羊课堂说的就是关于隐式类型转换…

Splashtop 获得 ISO 27001 认证

2023年8月15日 加利福尼亚州库比蒂诺 Splashtop 在随处办公远程解决方案领域处于领先地位,该公司今天宣布已获得 ISO/IEC 27001 认证,印证了其对坚持最高标准的信息安全管理系统(ISMS)、为客户提供数据保护以及遵守法律法规要求的…

ChatGPT​保密吗?它有哪些潜在风险?如何规避?

自2022年11月公开发布以来,ChatGPT已成为许多企业和个人的必备工具,但随着该技术越来越多地融入我们的日常生活,人们很自然地想知道:ChatGPT是否是保密的。 问:ChatGPT保密吗? 答:否&#xff0…

矿井下无人值守变电所电力监控系统的探讨与产品选型

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要:为了探讨井下无人值守变电所的电力监控系统技术,以西山煤电马兰矿为背景,详细阐述了井下无人值守变电所电力监控系统技术的各项基本参数,如额定工作电压及整机输入视在功…

[Blender]Geometry nodes altermesh to UE

首先要先下载插件 AlterMesh – Use geometry nodes inside Unreal 下载对应版本的插件后 打开UE,在对应的设置里面挂上blender.exe的路径 去官方下载一个Blender Geometry nodes 的示例 Demo Files — blender.org​​​​​​

使用蓝牙外设却不小心把台式机电脑蓝牙关了

起因 今天犯了一个贼SB的错误,起因是蓝牙键盘突然就不能输入了(虽然是连接状态,但是按什么键都没有反应) 原来我的解决方法就是重启一下电脑,但是那会电脑开了贼多的软件。我就想重启也太麻烦了,既然重启…

Python web实战之Django 的跨站点请求伪造(CSRF)保护详解

关键词:Python、Web、Django、跨站请求伪造、CSRF 大家好,今天我将分享web关于安全的话题:Django 的跨站点请求伪造(CSRF)保护,介绍 CSRF 的概念、原理和保护方法. 1. CSRF 是什么? CSRF&#…

每天一练:SpringBoot连接mq

目录 每天一练:Springboot连接rabbitmq 每天一练:Springboot连接rabbitmq 目录一、部署Rabbitmq?二、增加maven依赖三、连接RabbitMq四、发布和订阅消息总结 一、部署Rabbitmq? 这里rabbitmq采用docker安装部署。 拉取docker镜像 [root192 ~]# docker…

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测。基于分位…

【探索Linux】—— 强大的命令行工具 P.3(Linux开发工具 vim)

阅读导航 前言vim简介概念特点 vim的相关指令vim命令模式(Normal mode)相关指令插入模式(Insert mode)相关指令末行模式(last line mode)相关指令 简单vim配置(附配置链接)温馨提示 前言 前面我们讲了C语言的基础知识,也了解了一些数据结构&…

c#设计模式-结构型模式 之 桥接模式

前言 桥接模式是一种设计模式,它将抽象与实现分离,使它们可以独立变化。这种模式涉及到一个接口作为桥梁,使实体类的功能独立于接口实现类。这两种类型的类可以结构化改变而互不影响。 桥接模式的主要目的是通过将实现和抽象分离,…

机器学习知识点总结:什么是GBDT(梯度提升树)

什么是GBDT(梯度提升树) 虽然GBDT同样由许多决策树组成,但它与随机森林由许多不同。 其中之一是GBDT中的树都是回归树,树有分类有回归,区分它们的方法很简单。将苹果单纯分为好与坏的是分类树,如果能为苹果的好坏程度打个分&…