这篇内容是在有道云旧笔记基础上重新整理的 JavaScript 与前端开发 笔记。原始记录偏碎片化,这里补充了使用场景、阅读顺序和落地时需要注意的边界,方便以后在项目里快速复用。
适用场景 前端业务中需要快速处理数据、DOM、浏览器能力或通用工具函数时参考。 把散落在项目里的小技巧抽成可复用代码片段,减少重复实现。 排查兼容性和边界输入问题前,先用本文示例确认核心思路。 核心要点 正文已经按 「&x20;Yarn 篇」 等小节组织,阅读时可以先定位到当前问题对应的小节。 保留了 1 段可直接参考的代码或命令,主要涉及 bash,复制前需要按当前项目路径、版本和变量名做调整。 涉及命令行操作时,建议先在测试目录或测试环境执行,确认输出符合预期后再应用到生产环境。 Yarn 篇 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 执行命令 Yarn 安装依赖包报错如下 [2 /4 ] Fetching packages... error commander@12.1.0 : The engine "node" is incompatible with this module. Expected version ">=18" . Got "14.21.3" error Found incompatible module. info Visit https: 原因分析 这个错误表明你正在尝试使用的commander模块版本(12.1.0 )与当前的Node.js版本不兼容。engines字段在package.json文件中指定了该模块支持的Node.js的版本范围。如果当前Node.js版本高于engines字段所指定的最高版本,或者低于所指定的最低版本,则会出现这个错误。 但我使用 NVM 切换node版本为16.18.1 之后,其他模块又出现了node版本必须时18 以下的问题。看来但是这个项目但是开发时没有做到组件版本统一。项目主体应该是使用node v18以下,那该如何解决呢。 ———————————————— 尽管不推荐,但您可以尝试使用--ignore-engines标志来忽略这个警告并继续安装。例如,运行yarn --ignore-engines或npm install --force。请注意,这可能会导致其他未知的兼容性问题。 检查间接依赖: 解决办法 #清除已经下载的缓存记录: yarn cache clean #执行以下命令忽略模块的引擎版本限制,即可解决: yarn config set ignore-engines true
实践检查清单 把示例函数放进业务前,先补齐空值、异常输入、异步失败和浏览器兼容性测试。 通用工具函数应尽量收敛到项目公共模块,避免多个页面复制出不同版本。 涉及 UI 或浏览器行为时,至少在桌面端和移动端各验证一次关键路径。 涉及接口、服务端或权限逻辑时,补充失败分支和权限边界测试。 复盘小结 这篇笔记更适合作为问题排查或方案落地前的速查材料。后续如果在真实项目中再次遇到同类问题,可以继续把具体版本、报错信息、最终取舍和验证结果补到对应小节里,让它从代码片段逐步沉淀成完整方案。
Author: 蓝思同学
Permalink: https://www.lancema.com/posts/2023/JavaScript/前端包管理器报错集合.html
Slogan: small is beautiful, small is powerful !