[{"data":1,"prerenderedAt":354},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fyarn-npm-install-errors":3,"docs-all":173},{"id":4,"title":5,"body":6,"category":157,"date":158,"description":159,"draft":160,"extension":161,"meta":162,"navigation":163,"path":164,"seo":165,"source":166,"stem":167,"tags":168,"__hash__":172},"docs\u002Fdocs\u002Fyarn-npm-install-errors.md","yarn \u002F npm 安装报错处理",{"type":7,"value":8,"toc":152},"minimark",[9,13,17,21,32,35,86,92,96,99,105,111,115,143,148],[10,11,5],"h1",{"id":12},"yarn-npm-安装报错处理",[14,15,16],"h2",{"id":16},"忽略引擎版本报错",[18,19,20],"p",{},"yarn 安装时，依赖声明的 Node 版本高于本机会直接失败：",[22,23,28],"pre",{"className":24,"code":26,"language":27},[25],"language-text","error ora@8.0.1: The engine \"node\" is incompatible with this module. Expected version \">=18\". Got \"16.16.0\"\nerror Found incompatible module.\n","text",[29,30,26],"code",{"__ignoreMap":31},"",[18,33,34],{},"让 yarn 忽略引擎检查，再重新安装：",[22,36,40],{"className":37,"code":38,"language":39,"meta":31,"style":31},"language-bash shiki shiki-themes github-light github-dark","yarn config set ignore-engines true\n# yarn config v1.22.22\n# success Set \"ignore-engines\" to \"true\".\nyarn install\n","bash",[29,41,42,65,72,78],{"__ignoreMap":31},[43,44,47,51,55,58,61],"span",{"class":45,"line":46},"line",1,[43,48,50],{"class":49},"sScJk","yarn",[43,52,54],{"class":53},"sZZnC"," config",[43,56,57],{"class":53}," set",[43,59,60],{"class":53}," ignore-engines",[43,62,64],{"class":63},"sj4cs"," true\n",[43,66,68],{"class":45,"line":67},2,[43,69,71],{"class":70},"sJ8bj","# yarn config v1.22.22\n",[43,73,75],{"class":45,"line":74},3,[43,76,77],{"class":70},"# success Set \"ignore-engines\" to \"true\".\n",[43,79,81,83],{"class":45,"line":80},4,[43,82,50],{"class":49},[43,84,85],{"class":53}," install\n",[87,88,89],"blockquote",{},[18,90,91],{},"这是绕过而不是修复。依赖真用到了高版本 API 仍会在运行时报错，长期方案是升级 Node。",[14,93,95],{"id":94},"刷新-dns-缓存","刷新 DNS 缓存",[18,97,98],{},"网络类安装失败，先刷新 Windows 的 DNS 解析缓存，不行再重启电脑：",[22,100,103],{"className":101,"code":102,"language":27},[25],"ipconfig \u002Fflushdns\n",[29,104,102],{"__ignoreMap":31},[18,106,107],{},[108,109],"img",{"alt":31,"src":110},"\u002Fimages\u002Fd-note-ren\u002F2024-08-06-19-58-21-image.png",[14,112,114],{"id":113},"清理-npm-缓存","清理 npm 缓存",[22,116,118],{"className":37,"code":117,"language":39,"meta":31,"style":31},"npm cache clean --force\nnpm cache verify\n",[29,119,120,134],{"__ignoreMap":31},[43,121,122,125,128,131],{"class":45,"line":46},[43,123,124],{"class":49},"npm",[43,126,127],{"class":53}," cache",[43,129,130],{"class":53}," clean",[43,132,133],{"class":63}," --force\n",[43,135,136,138,140],{"class":45,"line":67},[43,137,124],{"class":49},[43,139,127],{"class":53},[43,141,142],{"class":53}," verify\n",[18,144,145],{},[108,146],{"alt":31,"src":147},"\u002Fimages\u002Fd-note-ren\u002F2024-08-06-20-06-28-image.png",[149,150,151],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":74,"depth":74,"links":153},[154,155,156],{"id":16,"depth":67,"text":16},{"id":94,"depth":67,"text":95},{"id":113,"depth":67,"text":114},"toolchain","2024-08-06","yarn 引擎版本不兼容时的 ignore-engines 绕过、Windows 刷新 DNS 解析缓存、npm 缓存清理与校验。",false,"md",{},true,"\u002Fdocs\u002Fyarn-npm-install-errors",{"title":5,"description":159},null,"docs\u002Fyarn-npm-install-errors",[124,169,170,171],"nodejs","windows","troubleshooting","2_OhwAuEBFb0jpJ6AMBMvL9XKIo4M9FPUI-LTvs_Ifo",[174,184,190,195,200,209,220,226,232,242,249,258,263,270,275,281,287,294,301,308,310,316,322,328,333,338,343,348],{"path":175,"title":176,"description":177,"date":178,"category":157,"tags":179},"\u002Fdocs\u002Fbabel-basics","Babel 转译基础与构建集成","Babel 7 的 CLI、preset、plugin、目标环境以及 Gulp、Webpack 和 JSX 转译配置摘录。","2026-09-09",[180,181,182,183],"javascript","es6","webpack","notes",{"path":185,"title":186,"description":187,"date":178,"category":188,"tags":189},"\u002Fdocs\u002Fes6-arrays-objects","ES6 数组与对象扩展","展开运算符、Array.from、Object.assign、属性描述符与图片预加载示例。","fundamentals",[180,181,183],{"path":191,"title":192,"description":193,"date":178,"category":188,"tags":194},"\u002Fdocs\u002Fes6-basics","ES6 基础：作用域、解构与模板字符串","从课程示例整理 let、const、暂时性死区、全局对象、数组与对象解构及模板字符串。",[180,181,183],{"path":196,"title":197,"description":198,"date":178,"category":188,"tags":199},"\u002Fdocs\u002Fjs-promise-async","Promise、Generator 与 async\u002Fawait","从回调到 Promise 链、组合方法、Generator 执行与 async 错误处理的课程示例整理。",[180,181,183],{"path":201,"title":202,"description":203,"date":204,"category":157,"tags":205},"\u002Fdocs\u002Flinux-commands-cheatsheet","Linux 常用命令与权限管理速查","cp\u002Fmv\u002Frm、目录导航、查找、压缩、网络等基础命令速查，以及 chmod\u002Fchown 的数字与符号写法、常用组合和 WSL 下的坑。","2026-05-28",[206,207,208],"linux","wsl2","cheatsheet",{"path":210,"title":211,"description":212,"date":213,"category":214,"tags":215},"\u002Fdocs\u002Ffrontend-coding-standards","前端团队编码规范","HTML \u002F CSS \u002F JavaScript 三端统一的团队编码约定，含缩进、命名、语法与禁用项，可直接作为 Code Review 依据。","2025-12-17","standards",[216,217,180,181,218,219],"html","css","best-practice","guide",{"path":221,"title":222,"description":223,"date":224,"category":157,"tags":225},"\u002Fdocs\u002Fwindows-mklink","Windows mklink 符号链接用法","mklink 各参数区别与实用场景：目录联接、符号链接与硬链接的选择。","2024-12-18",[170,208],{"path":227,"title":228,"description":229,"date":230,"category":157,"tags":231},"\u002Fdocs\u002Frandom-color-utils","JS 随机颜色生成方法","几种生成随机 RGB \u002F HEX 颜色的实现方式与各自适用场景。","2024-12-11",[180,208],{"path":233,"title":234,"description":235,"date":236,"category":237,"tags":238},"\u002Fdocs\u002Fcanvas-vs-svg","Canvas 与 SVG 绘图方案选型","对比 Canvas 与 SVG 两种绘图方案的优缺点与适用场景，给出选型判断依据。","2024-12-09","visualization",[239,240,241,218],"canvas","svg","performance",{"path":243,"title":244,"description":245,"date":246,"category":157,"tags":247},"\u002Fdocs\u002Ffree-commercial-fonts","免费可商用字体整理","整理思源黑体、思源宋体等可商用中文字体，规避字体版权风险。","2024-11-03",[248,217,183],"font",{"path":250,"title":251,"description":252,"date":246,"category":253,"tags":254},"\u002Fdocs\u002Finterview-browser-network","浏览器与网络考点","从输入 URL 到页面呈现的完整链路，涵盖渲染流程、回流重绘、HTTP 报文与状态码、跨域同源策略与常见攻击方式。","interview",[255,256,257,241,183],"browser","http","network",{"path":259,"title":260,"description":261,"date":246,"category":253,"tags":262},"\u002Fdocs\u002Finterview-css-layout","CSS 与布局考点","em 与 rem 的区别、移动端三种适配方案对比、viewport 标准设置与 REM 布局的媒体查询实现。",[217,216,218,183],{"path":264,"title":265,"description":266,"date":246,"category":253,"tags":267},"\u002Fdocs\u002Finterview-framework-tooling","框架与工程化考点","React diff 与 setState 机制、Redux 核心组成、Vue 常考清单，以及 Webpack、Vite、Git 的面试要点。",[268,180,182,269,183],"vue","vite",{"path":271,"title":272,"description":273,"date":246,"category":253,"tags":274},"\u002Fdocs\u002Finterview-javascript-core","JavaScript 核心考点","数据类型、this 绑定、闭包、原型链、异步与数组方法，前端面试中 JS 部分的高频考点与代码示例。",[180,181,183],{"path":276,"title":277,"description":278,"date":246,"category":188,"tags":279},"\u002Fdocs\u002Fjs-module-systems","JavaScript 模块化方案","梳理 CommonJS、AMD、ES Module 等模块化方案的差异与使用方式。",[180,280,181,183],"module-system",{"path":282,"title":283,"description":284,"date":246,"category":188,"tags":285},"\u002Fdocs\u002Fwebsocket-basics","WebSocket 基础","WebSocket 全双工通信协议的事件、方法与基本用法整理。",[286,257,180,183],"websocket",{"path":288,"title":289,"description":290,"date":291,"category":157,"tags":292},"\u002Fdocs\u002Fmarkdown-syntax","Markdown 语法速查","Markdown 标题、强调、列表、区块引用、代码、表格、转义与 Mermaid 图表语法整理。","2024-10-18",[293,208,183],"markdown",{"path":295,"title":296,"description":297,"date":298,"category":237,"tags":299},"\u002Fdocs\u002Fgojs-getting-started","GoJS 入门实战","从引入方式、画布初始化到节点模板与数据绑定，一份可直接上手的 GoJS 流程图开发笔记。","2024-08-22",[300,180,183],"gojs",{"path":302,"title":303,"description":304,"date":305,"category":237,"tags":306},"\u002Fdocs\u002Fecharts-options-notes","ECharts 配置项速查","整理 ECharts 常用 option 配置：数据格式、坐标轴、图例与交互项的实际用法。","2024-08-09",[307,180,208],"echarts",{"path":164,"title":5,"description":159,"date":158,"category":157,"tags":309},[124,169,170,171],{"path":311,"title":312,"description":313,"date":314,"category":237,"tags":315},"\u002Fdocs\u002Fgojs-grid-panel","GoJS 网格面板用法","Diagram.grid 默认网格与网格捕捉、单元格尺寸定制，用 LineH\u002FLineV\u002FBarH\u002FBarV 自定义网格样式，以及把 Grid 面板当作节点元素使用。","2024-07-01",[300,180,183],{"path":317,"title":318,"description":319,"date":320,"category":188,"tags":321},"\u002Fdocs\u002Fhttp-status-codes","HTTP 响应状态码详解","按 1xx 到 5xx 分类梳理 HTTP 状态码的含义与典型使用场景。","2024-06-27",[256,257,208],{"path":323,"title":324,"description":325,"date":326,"category":188,"tags":327},"\u002Fdocs\u002Fes6-functions-classes","ES6 函数与 Class","默认参数、rest、箭头函数的 this、Class 方法、访问器、静态成员与继承。","2023-04-26",[180,181,183],{"path":329,"title":330,"description":331,"date":326,"category":157,"tags":332},"\u002Fdocs\u002Fgulp-basics","Gulp 4 任务与文件流","Gulp 任务完成信号、串并行组合、文件流、资源处理、分阶段输出和文件监听。",[180,169,183],{"path":334,"title":335,"description":336,"date":326,"category":188,"tags":337},"\u002Fdocs\u002Fjs-proxy-reflect","Proxy 与 Reflect 入门","通过属性读取和赋值示例理解 Proxy、Reflect、receiver 与拦截限制。",[180,181,183],{"path":339,"title":340,"description":341,"date":326,"category":157,"tags":342},"\u002Fdocs\u002Fless-basics","Less 语法与编译笔记","变量、嵌套、混合、extend、导入、内置函数和递归生成列的课程示例。",[217,183,208],{"path":344,"title":345,"description":346,"date":326,"category":157,"tags":347},"\u002Fdocs\u002Fwebpack-basics","Webpack 4 配置与开发服务器笔记","课程中的入口出口、loader、plugin、source map、开发代理以及 React 环境配置片段。",[182,180,169,183],{"path":349,"title":350,"description":351,"date":352,"category":188,"tags":353},"\u002Fdocs\u002Fhtml-basics","HTML 基础笔记","HTML 语法规范、常用标签、表格、表单、Canvas 入门与 JavaScript 输出方式速查。","2022-06-10",[216,183,208],1789635934380]