[{"data":1,"prerenderedAt":1140},["ShallowReactive",2],{"doc-page:\u002Fdocs\u002Fdev-environment":3},{"doc":4,"prev":1103,"next":1106,"resolvedType":8,"readingMinutes":124,"audience":1114,"checklist":1118,"related":1122},{"path":5,"title":6,"description":7,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":12,"publishedAt":12,"icon":13,"body":14},"\u002Fdocs\u002Fdev-environment","Windows 开发环境搭建","从零搭建 Windows 开发环境的完整流程，涵盖编辑器、运行时、终端美化、WSL 等","article",null,"dev-environment","开发环境","2025-11-08","i-carbon-code",{"type":15,"value":16,"toc":1081},"minimark",[17,21,25,29,32,54,57,61,70,128,132,181,185,228,232,235,270,273,466,470,500,504,520,524,593,597,600,626,629,649,652,655,673,676,679,684,701,704,707,710,721,725,728,739,742,757,760,786,790,797,997,1021,1024,1077],[18,19,6],"h1",{"id":20},"windows-开发环境搭建",[22,23,24],"p",{},"这页适合作为“新电脑或重装系统后的开发机初始化清单”。真正决定后续效率的不是装了多少工具，而是包管理器、运行时、终端、编辑器和 WSL 是否按顺序搭好。",[26,27,28],"h2",{"id":28},"推荐最小清单",[22,30,31],{},"如果你只想先把机器拉到可开发状态，最小组合通常够用：",[33,34,35,39,42,45,48,51],"ul",{},[36,37,38],"li",{},"包管理器：Winget + Scoop",[36,40,41],{},"终端：Windows Terminal",[36,43,44],{},"编辑器：VS Code",[36,46,47],{},"版本控制：Git",[36,49,50],{},"运行时：Node.js \u002F Python \u002F Rust（按需）",[36,52,53],{},"Linux 环境：WSL",[22,55,56],{},"先把这一套跑顺，再补 Docker、数据库客户端、API 工具和美化组件。",[26,58,60],{"id":59},"第一步包管理器","第一步：包管理器",[22,62,63,64,69],{},"推荐同时安装 Winget（系统自带）和 ",[65,66,68],"a",{"href":67},"\u002Fdocs\u002Fscoop-guide","Scoop","：",[71,72,77],"pre",{"className":73,"code":74,"language":75,"meta":76,"style":76},"language-powershell shiki shiki-themes github-light github-dark","# 安装 Scoop（CLI 工具推荐用 Scoop）\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\nirm get.scoop.sh | iex\nscoop bucket add extras\n","powershell","",[78,79,80,89,110,122],"code",{"__ignoreMap":76},[81,82,85],"span",{"class":83,"line":84},"line",1,[81,86,88],{"class":87},"sJ8bj","# 安装 Scoop（CLI 工具推荐用 Scoop）\n",[81,90,92,96,100,104,107],{"class":83,"line":91},2,[81,93,95],{"class":94},"sj4cs","Set-ExecutionPolicy",[81,97,99],{"class":98},"szBVR"," -",[81,101,103],{"class":102},"sVt8B","ExecutionPolicy RemoteSigned ",[81,105,106],{"class":98},"-",[81,108,109],{"class":102},"Scope CurrentUser\n",[81,111,113,116,119],{"class":83,"line":112},3,[81,114,115],{"class":102},"irm get.scoop.sh ",[81,117,118],{"class":98},"|",[81,120,121],{"class":102}," iex\n",[81,123,125],{"class":83,"line":124},4,[81,126,127],{"class":102},"scoop bucket add extras\n",[26,129,131],{"id":130},"第二步基础工具","第二步：基础工具",[71,133,135],{"className":73,"code":134,"language":75,"meta":76,"style":76},"# 安装 Windows Terminal（Win10 需要，Win11 自带）\nwinget install Microsoft.WindowsTerminal\n\n# 安装 PowerToys\nwinget install Microsoft.PowerToys\n\n# 安装 7-Zip\nscoop install 7zip\n",[78,136,137,142,147,153,158,164,169,175],{"__ignoreMap":76},[81,138,139],{"class":83,"line":84},[81,140,141],{"class":87},"# 安装 Windows Terminal（Win10 需要，Win11 自带）\n",[81,143,144],{"class":83,"line":91},[81,145,146],{"class":102},"winget install Microsoft.WindowsTerminal\n",[81,148,149],{"class":83,"line":112},[81,150,152],{"emptyLinePlaceholder":151},true,"\n",[81,154,155],{"class":83,"line":124},[81,156,157],{"class":87},"# 安装 PowerToys\n",[81,159,161],{"class":83,"line":160},5,[81,162,163],{"class":102},"winget install Microsoft.PowerToys\n",[81,165,167],{"class":83,"line":166},6,[81,168,152],{"emptyLinePlaceholder":151},[81,170,172],{"class":83,"line":171},7,[81,173,174],{"class":87},"# 安装 7-Zip\n",[81,176,178],{"class":83,"line":177},8,[81,179,180],{"class":102},"scoop install 7zip\n",[26,182,184],{"id":183},"第三步开发工具","第三步：开发工具",[71,186,188],{"className":73,"code":187,"language":75,"meta":76,"style":76},"# 编辑器\nwinget install Microsoft.VisualStudioCode\n\n# 版本控制\nwinget install Git.Git\n\n# 容器\nwinget install Docker.DockerDesktop\n",[78,189,190,195,200,204,209,214,218,223],{"__ignoreMap":76},[81,191,192],{"class":83,"line":84},[81,193,194],{"class":87},"# 编辑器\n",[81,196,197],{"class":83,"line":91},[81,198,199],{"class":102},"winget install Microsoft.VisualStudioCode\n",[81,201,202],{"class":83,"line":112},[81,203,152],{"emptyLinePlaceholder":151},[81,205,206],{"class":83,"line":124},[81,207,208],{"class":87},"# 版本控制\n",[81,210,211],{"class":83,"line":160},[81,212,213],{"class":102},"winget install Git.Git\n",[81,215,216],{"class":83,"line":166},[81,217,152],{"emptyLinePlaceholder":151},[81,219,220],{"class":83,"line":171},[81,221,222],{"class":87},"# 容器\n",[81,224,225],{"class":83,"line":177},[81,226,227],{"class":102},"winget install Docker.DockerDesktop\n",[26,229,231],{"id":230},"第四步运行时环境","第四步：运行时环境",[22,233,234],{},"Node.js 版本管理建议三选一：",[33,236,237,246,258],{},[36,238,239,245],{},[240,241,242],"strong",{},[78,243,244],{},"fnm","：轻量、启动快，适合只想要 Node 版本切换的用户",[36,247,248,253,254],{},[240,249,250],{},[78,251,252],{},"Volta","：更适合纯 Node.js \u002F 前端工具链，详见 ",[65,255,257],{"href":256},"\u002Fdocs\u002Fvolta-guide","Volta Node 版本管理",[36,259,260,265,266],{},[240,261,262],{},[78,263,264],{},"mise","：更适合同时管理 Node、Python、Rust、Go 等多语言环境，详见 ",[65,267,269],{"href":268},"\u002Fdocs\u002Fmise-guide","mise 多语言版本管理",[22,271,272],{},"不建议把多个 Node 版本管理器同时作为主入口长期混用。",[71,274,276],{"className":73,"code":275,"language":75,"meta":76,"style":76},"# Node.js 版本管理\nwinget install Schniz.fnm\nfnm install 22\nfnm default 22\n\n# 或使用 Volta（Node 生态优先）\nwinget install Volta.Volta\nvolta install node@22\nvolta install pnpm\n\n# 或使用 mise（多语言统一管理）\nwinget install jdx.mise\nmise use -g node@22\nmise use -g pnpm@latest\n\n# 包管理器\nnpm install -g pnpm\n\n# Bun\npowershell -c \"irm bun.sh\u002Finstall.ps1 | iex\"\n\n# Python\nwinget install Python.Python.3.12\nwinget install astral-sh.uv\n\n# Rust\nwinget install Rustlang.Rustup\n",[78,277,278,283,288,296,307,311,316,321,326,332,337,343,349,360,370,375,381,392,397,403,418,423,429,438,449,454,460],{"__ignoreMap":76},[81,279,280],{"class":83,"line":84},[81,281,282],{"class":87},"# Node.js 版本管理\n",[81,284,285],{"class":83,"line":91},[81,286,287],{"class":102},"winget install Schniz.fnm\n",[81,289,290,293],{"class":83,"line":112},[81,291,292],{"class":102},"fnm install ",[81,294,295],{"class":94},"22\n",[81,297,298,301,304],{"class":83,"line":124},[81,299,300],{"class":102},"fnm ",[81,302,303],{"class":98},"default",[81,305,306],{"class":94}," 22\n",[81,308,309],{"class":83,"line":160},[81,310,152],{"emptyLinePlaceholder":151},[81,312,313],{"class":83,"line":166},[81,314,315],{"class":87},"# 或使用 Volta（Node 生态优先）\n",[81,317,318],{"class":83,"line":171},[81,319,320],{"class":102},"winget install Volta.Volta\n",[81,322,323],{"class":83,"line":177},[81,324,325],{"class":102},"volta install node@22\n",[81,327,329],{"class":83,"line":328},9,[81,330,331],{"class":102},"volta install pnpm\n",[81,333,335],{"class":83,"line":334},10,[81,336,152],{"emptyLinePlaceholder":151},[81,338,340],{"class":83,"line":339},11,[81,341,342],{"class":87},"# 或使用 mise（多语言统一管理）\n",[81,344,346],{"class":83,"line":345},12,[81,347,348],{"class":102},"winget install jdx.mise\n",[81,350,352,355,357],{"class":83,"line":351},13,[81,353,354],{"class":102},"mise use ",[81,356,106],{"class":98},[81,358,359],{"class":102},"g node@22\n",[81,361,363,365,367],{"class":83,"line":362},14,[81,364,354],{"class":102},[81,366,106],{"class":98},[81,368,369],{"class":102},"g pnpm@latest\n",[81,371,373],{"class":83,"line":372},15,[81,374,152],{"emptyLinePlaceholder":151},[81,376,378],{"class":83,"line":377},16,[81,379,380],{"class":87},"# 包管理器\n",[81,382,384,387,389],{"class":83,"line":383},17,[81,385,386],{"class":102},"npm install ",[81,388,106],{"class":98},[81,390,391],{"class":102},"g pnpm\n",[81,393,395],{"class":83,"line":394},18,[81,396,152],{"emptyLinePlaceholder":151},[81,398,400],{"class":83,"line":399},19,[81,401,402],{"class":87},"# Bun\n",[81,404,406,409,411,414],{"class":83,"line":405},20,[81,407,408],{"class":102},"powershell ",[81,410,106],{"class":98},[81,412,413],{"class":102},"c ",[81,415,417],{"class":416},"sZZnC","\"irm bun.sh\u002Finstall.ps1 | iex\"\n",[81,419,421],{"class":83,"line":420},21,[81,422,152],{"emptyLinePlaceholder":151},[81,424,426],{"class":83,"line":425},22,[81,427,428],{"class":87},"# Python\n",[81,430,432,435],{"class":83,"line":431},23,[81,433,434],{"class":102},"winget install Python.Python.",[81,436,437],{"class":94},"3.12\n",[81,439,441,444,446],{"class":83,"line":440},24,[81,442,443],{"class":102},"winget install astral",[81,445,106],{"class":98},[81,447,448],{"class":102},"sh.uv\n",[81,450,452],{"class":83,"line":451},25,[81,453,152],{"emptyLinePlaceholder":151},[81,455,457],{"class":83,"line":456},26,[81,458,459],{"class":87},"# Rust\n",[81,461,463],{"class":83,"line":462},27,[81,464,465],{"class":102},"winget install Rustlang.Rustup\n",[26,467,469],{"id":468},"第五步终端美化","第五步：终端美化",[71,471,473],{"className":73,"code":472,"language":75,"meta":76,"style":76},"# Oh My Posh\nwinget install JanDeDobbeleer.OhMyPosh\noh-my-posh font install CascadiaCode\n",[78,474,475,480,485],{"__ignoreMap":76},[81,476,477],{"class":83,"line":84},[81,478,479],{"class":87},"# Oh My Posh\n",[81,481,482],{"class":83,"line":91},[81,483,484],{"class":102},"winget install JanDeDobbeleer.OhMyPosh\n",[81,486,487,490,492,495,497],{"class":83,"line":112},[81,488,489],{"class":102},"oh",[81,491,106],{"class":98},[81,493,494],{"class":102},"my",[81,496,106],{"class":98},[81,498,499],{"class":102},"posh font install CascadiaCode\n",[26,501,503],{"id":502},"第六步wsl","第六步：WSL",[71,505,507],{"className":73,"code":506,"language":75,"meta":76,"style":76},"wsl --install\n",[78,508,509],{"__ignoreMap":76},[81,510,511,514,517],{"class":83,"line":84},[81,512,513],{"class":102},"wsl ",[81,515,516],{"class":98},"--",[81,518,519],{"class":102},"install\n",[26,521,523],{"id":522},"第七步git-配置","第七步：Git 配置",[71,525,529],{"className":526,"code":527,"language":528,"meta":76,"style":76},"language-bash shiki shiki-themes github-light github-dark","git config --global user.name \"[name]\"\ngit config --global user.email \"[email]\"\ngit config --global init.defaultBranch main\nssh-keygen -t ed25519 -C \"[email]\"\n","bash",[78,530,531,549,563,577],{"__ignoreMap":76},[81,532,533,537,540,543,546],{"class":83,"line":84},[81,534,536],{"class":535},"sScJk","git",[81,538,539],{"class":416}," config",[81,541,542],{"class":94}," --global",[81,544,545],{"class":416}," user.name",[81,547,548],{"class":416}," \"[name]\"\n",[81,550,551,553,555,557,560],{"class":83,"line":91},[81,552,536],{"class":535},[81,554,539],{"class":416},[81,556,542],{"class":94},[81,558,559],{"class":416}," user.email",[81,561,562],{"class":416}," \"[email]\"\n",[81,564,565,567,569,571,574],{"class":83,"line":112},[81,566,536],{"class":535},[81,568,539],{"class":416},[81,570,542],{"class":94},[81,572,573],{"class":416}," init.defaultBranch",[81,575,576],{"class":416}," main\n",[81,578,579,582,585,588,591],{"class":83,"line":124},[81,580,581],{"class":535},"ssh-keygen",[81,583,584],{"class":94}," -t",[81,586,587],{"class":416}," ed25519",[81,589,590],{"class":94}," -C",[81,592,562],{"class":416},[26,594,596],{"id":595},"第八步vs-code-扩展","第八步：VS Code 扩展",[22,598,599],{},"必装扩展：",[33,601,602,605,608,611,614,617,620,623],{},[36,603,604],{},"Error Lens",[36,606,607],{},"GitLens",[36,609,610],{},"Vue - Official",[36,612,613],{},"Prettier",[36,615,616],{},"UnoCSS",[36,618,619],{},"Docker",[36,621,622],{},"WSL",[36,624,625],{},"rust-analyzer",[26,627,628],{"id":628},"可选工具",[71,630,632],{"className":73,"code":631,"language":75,"meta":76,"style":76},"winget install Postman.Postman\nwinget install DBBrowserForSQLite.DBBrowserForSQLite\nwinget install Insomnia.Insomnia\n",[78,633,634,639,644],{"__ignoreMap":76},[81,635,636],{"class":83,"line":84},[81,637,638],{"class":102},"winget install Postman.Postman\n",[81,640,641],{"class":83,"line":91},[81,642,643],{"class":102},"winget install DBBrowserForSQLite.DBBrowserForSQLite\n",[81,645,646],{"class":83,"line":112},[81,647,648],{"class":102},"winget install Insomnia.Insomnia\n",[26,650,651],{"id":651},"推荐初始化顺序",[22,653,654],{},"更稳的机器初始化顺序通常是：",[656,657,658,661,664,667,670],"ol",{},[36,659,660],{},"先装包管理器和终端",[36,662,663],{},"再装 Git 与编辑器",[36,665,666],{},"再装运行时与版本管理器",[36,668,669],{},"再配置 Git、SSH 和常用扩展",[36,671,672],{},"最后再装 Docker、数据库工具、API 客户端和美化组件",[22,674,675],{},"先保证“能写代码、能拉仓库、能跑项目”，再追求桌面和终端体验会更省时间。",[26,677,678],{"id":678},"常见问题",[680,681,683],"h3",{"id":682},"nodejs-到底选-fnmvolta-还是-mise","Node.js 到底选 fnm、Volta 还是 mise",[33,685,686,691,696],{},[36,687,688,689],{},"只想管理 Node：",[78,690,244],{},[36,692,693,694],{},"前端与 Node 工具链优先：",[78,695,252],{},[36,697,698,699],{},"想统一管理 Node、Python、Rust、Go：",[78,700,264],{},[22,702,703],{},"最好只选一个作为主入口，避免同类工具长期混用。",[680,705,706],{"id":706},"为什么终端里命令装好了却找不到",[22,708,709],{},"高频原因通常是：",[33,711,712,715,718],{},[36,713,714],{},"PATH 没刷新",[36,716,717],{},"多个版本管理器同时接管了同一运行时",[36,719,720],{},"终端和 VS Code 使用的 shell \u002F 环境不一致",[680,722,724],{"id":723},"wsl-和-windows-两边都装运行时可以吗","WSL 和 Windows 两边都装运行时可以吗",[22,726,727],{},"可以，但最好明确哪边是主开发环境。否则很容易出现：",[33,729,730,733,736],{},[36,731,732],{},"Git 配置两套",[36,734,735],{},"Node \u002F Python 版本不一致",[36,737,738],{},"SSH 密钥和依赖装在不同侧",[26,740,741],{"id":741},"风险提醒",[33,743,744,747,750],{},[36,745,746],{},"版本管理器不要贪多，Node 一套主入口就够",[36,748,749],{},"Docker、WSL、Git、SSH 建议尽早规划主工作流",[36,751,752,753,756],{},"大型项目如果准备放进 WSL，尽量别再长期从 ",[78,754,755],{},"C:"," 盘跨文件系统操作",[26,758,759],{"id":759},"延伸阅读",[33,761,762,768,774,780],{},[36,763,764],{},[65,765,767],{"href":766},"\u002Fdocs\u002Flocal-setup","本地开发环境搭建",[36,769,770],{},[65,771,773],{"href":772},"\u002Fdocs\u002Fvscode-setup","VS Code 配置指南",[36,775,776],{},[65,777,779],{"href":778},"\u002Fdocs\u002Fwsl-setup","WSL 安装与配置",[36,781,782],{},[65,783,785],{"href":784},"\u002Fdocs\u002Fterminal-setup","终端配置与美化",[26,787,789],{"id":788},"进阶一键安装脚本","进阶：一键安装脚本",[22,791,792,793,796],{},"将以下内容保存为 ",[78,794,795],{},"setup-dev.ps1","，一次性安装所有开发工具：",[71,798,800],{"className":73,"code":799,"language":75,"meta":76,"style":76},"$packages = @(\n    \"Microsoft.WindowsTerminal\",\n    \"Microsoft.PowerToys\",\n    \"7zip.7zip\",\n    \"Microsoft.VisualStudioCode\",\n    \"Git.Git\",\n    \"Docker.DockerDesktop\",\n    \"Schniz.fnm\",\n    \"pnpm.pnpm\",\n    \"Python.Python.3.12\",\n    \"astral-sh.uv\",\n    \"Rustlang.Rustup\",\n    \"JanDeDobbeleer.OhMyPosh\"\n)\n\nforeach ($pkg in $packages) {\n    Write-Host \"Installing $pkg...\" -ForegroundColor Cyan\n    winget install $pkg --accept-package-agreements --accept-source-agreements\n}\n\nWrite-Host \"All dev tools installed!\" -ForegroundColor Green\n",[78,801,802,816,824,831,838,845,852,859,866,873,880,887,894,899,904,908,922,941,975,980,984],{"__ignoreMap":76},[81,803,804,807,810,813],{"class":83,"line":84},[81,805,806],{"class":102},"$packages ",[81,808,809],{"class":98},"=",[81,811,812],{"class":98}," @",[81,814,815],{"class":102},"(\n",[81,817,818,821],{"class":83,"line":91},[81,819,820],{"class":416},"    \"Microsoft.WindowsTerminal\"",[81,822,823],{"class":98},",\n",[81,825,826,829],{"class":83,"line":112},[81,827,828],{"class":416},"    \"Microsoft.PowerToys\"",[81,830,823],{"class":98},[81,832,833,836],{"class":83,"line":124},[81,834,835],{"class":416},"    \"7zip.7zip\"",[81,837,823],{"class":98},[81,839,840,843],{"class":83,"line":160},[81,841,842],{"class":416},"    \"Microsoft.VisualStudioCode\"",[81,844,823],{"class":98},[81,846,847,850],{"class":83,"line":166},[81,848,849],{"class":416},"    \"Git.Git\"",[81,851,823],{"class":98},[81,853,854,857],{"class":83,"line":171},[81,855,856],{"class":416},"    \"Docker.DockerDesktop\"",[81,858,823],{"class":98},[81,860,861,864],{"class":83,"line":177},[81,862,863],{"class":416},"    \"Schniz.fnm\"",[81,865,823],{"class":98},[81,867,868,871],{"class":83,"line":328},[81,869,870],{"class":416},"    \"pnpm.pnpm\"",[81,872,823],{"class":98},[81,874,875,878],{"class":83,"line":334},[81,876,877],{"class":416},"    \"Python.Python.3.12\"",[81,879,823],{"class":98},[81,881,882,885],{"class":83,"line":339},[81,883,884],{"class":416},"    \"astral-sh.uv\"",[81,886,823],{"class":98},[81,888,889,892],{"class":83,"line":345},[81,890,891],{"class":416},"    \"Rustlang.Rustup\"",[81,893,823],{"class":98},[81,895,896],{"class":83,"line":351},[81,897,898],{"class":416},"    \"JanDeDobbeleer.OhMyPosh\"\n",[81,900,901],{"class":83,"line":362},[81,902,903],{"class":102},")\n",[81,905,906],{"class":83,"line":372},[81,907,152],{"emptyLinePlaceholder":151},[81,909,910,913,916,919],{"class":83,"line":377},[81,911,912],{"class":98},"foreach",[81,914,915],{"class":102}," ($pkg ",[81,917,918],{"class":98},"in",[81,920,921],{"class":102}," $packages) {\n",[81,923,924,927,930,933,936,938],{"class":83,"line":383},[81,925,926],{"class":94},"    Write-Host",[81,928,929],{"class":416}," \"Installing ",[81,931,932],{"class":102},"$pkg",[81,934,935],{"class":416},"...\"",[81,937,99],{"class":98},[81,939,940],{"class":102},"ForegroundColor Cyan\n",[81,942,943,946,948,951,953,956,958,961,963,965,967,970,972],{"class":83,"line":394},[81,944,945],{"class":102},"    winget install $pkg ",[81,947,516],{"class":98},[81,949,950],{"class":102},"accept",[81,952,106],{"class":98},[81,954,955],{"class":102},"package",[81,957,106],{"class":98},[81,959,960],{"class":102},"agreements ",[81,962,516],{"class":98},[81,964,950],{"class":102},[81,966,106],{"class":98},[81,968,969],{"class":102},"source",[81,971,106],{"class":98},[81,973,974],{"class":102},"agreements\n",[81,976,977],{"class":83,"line":399},[81,978,979],{"class":102},"}\n",[81,981,982],{"class":83,"line":405},[81,983,152],{"emptyLinePlaceholder":151},[81,985,986,989,992,994],{"class":83,"line":420},[81,987,988],{"class":94},"Write-Host",[81,990,991],{"class":416}," \"All dev tools installed!\"",[81,993,99],{"class":98},[81,995,996],{"class":102},"ForegroundColor Green\n",[71,998,1000],{"className":73,"code":999,"language":75,"meta":76,"style":76},"powershell -ExecutionPolicy Bypass -File setup-dev.ps1\n",[78,1001,1002],{"__ignoreMap":76},[81,1003,1004,1006,1008,1011,1013,1016,1018],{"class":83,"line":84},[81,1005,408],{"class":102},[81,1007,106],{"class":98},[81,1009,1010],{"class":102},"ExecutionPolicy Bypass ",[81,1012,106],{"class":98},[81,1014,1015],{"class":102},"File setup",[81,1017,106],{"class":98},[81,1019,1020],{"class":102},"dev.ps1\n",[26,1022,1023],{"id":1023},"参考链接",[33,1025,1026,1035,1042,1048,1055,1062,1070],{},[36,1027,1028,1034],{},[65,1029,1033],{"href":1030,"rel":1031},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fterminal",[1032],"nofollow","Windows Terminal"," — GitHub",[36,1036,1037,1034],{},[65,1038,1041],{"href":1039,"rel":1040},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FPowerToys",[1032],"PowerToys",[36,1043,1044,1034],{},[65,1045,244],{"href":1046,"rel":1047},"https:\u002F\u002Fgithub.com\u002FSchniz\u002Ffnm",[1032],[36,1049,1050,1054],{},[65,1051,252],{"href":1052,"rel":1053},"https:\u002F\u002Fvolta.sh\u002F",[1032]," — Node 工具链管理",[36,1056,1057,1061],{},[65,1058,264],{"href":1059,"rel":1060},"https:\u002F\u002Fmise.jdx.dev\u002F",[1032]," — 多语言版本管理",[36,1063,1064,1069],{},[65,1065,1068],{"href":1066,"rel":1067},"https:\u002F\u002Fohmyposh.dev\u002F",[1032],"Oh My Posh"," — 官网",[36,1071,1072,1069],{},[65,1073,1076],{"href":1074,"rel":1075},"https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop\u002F",[1032],"Docker Desktop",[1078,1079,1080],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":76,"searchDepth":91,"depth":91,"links":1082},[1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1099,1100,1101,1102],{"id":28,"depth":91,"text":28},{"id":59,"depth":91,"text":60},{"id":130,"depth":91,"text":131},{"id":183,"depth":91,"text":184},{"id":230,"depth":91,"text":231},{"id":468,"depth":91,"text":469},{"id":502,"depth":91,"text":503},{"id":522,"depth":91,"text":523},{"id":595,"depth":91,"text":596},{"id":628,"depth":91,"text":628},{"id":651,"depth":91,"text":651},{"id":678,"depth":91,"text":678,"children":1095},[1096,1097,1098],{"id":682,"depth":112,"text":683},{"id":706,"depth":112,"text":706},{"id":723,"depth":112,"text":724},{"id":741,"depth":91,"text":741},{"id":759,"depth":91,"text":759},{"id":788,"depth":91,"text":789},{"id":1023,"depth":91,"text":1023},{"path":268,"title":269,"description":1104,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1105,"publishedAt":1105,"icon":13},"用 mise 统一管理 Node.js、Python、Rust、Go 等运行时，以及项目级工具链配置","2025-11-14",{"path":1107,"title":1108,"description":1109,"docType":8,"resourceKind":9,"categoryId":1110,"categoryLabel":1111,"updatedAt":1112,"publishedAt":1112,"icon":1113},"\u002Fdocs\u002Fdocker-setup","Docker Desktop 安装与使用","Windows 上安装 Docker Desktop，配置 WSL 2 后端，使用 Docker Compose，并了解 Docker MCP Toolkit","infra-deployment","服务器与部署","2025-10-28","i-carbon-cloud",[1115,1116,1117],"希望把零散经验整理成长期可复用工作流的人","正在搭建开发环境、统一工具链或排查构建问题的开发者","希望阅读时顺手建立自己的操作清单或收藏体系的人",[1119,1120,1121],"先浏览标题、摘要和目录，带着问题阅读会更高效","确认本机 Node、包管理器、终端和仓库依赖版本是否一致","如果页面里提到相关文档，尽量一起打开对照，效果通常更完整",[1123,1127,1130,1135],{"path":766,"title":1124,"description":1125,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1126,"publishedAt":1126,"icon":13},"本地运行与部署","使用 bun 安装、开发、构建与预览 DomiVault 的完整本地流程与排障指引","2026-03-10",{"path":256,"title":257,"description":1128,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1129,"publishedAt":1129,"icon":13},"使用 Volta 管理 Node.js、npm、pnpm 和 Yarn，并在项目中固定 JavaScript 工具链版本","2026-03-08",{"path":1131,"title":1132,"description":1133,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1134,"publishedAt":1134,"icon":13},"\u002Fdocs\u002Fpnpm-monorepo","pnpm 与 Monorepo","pnpm 使用技巧、workspace 配置、Monorepo 项目管理与 Turborepo","2026-02-28",{"path":1136,"title":1137,"description":1138,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1139,"publishedAt":1139,"icon":13},"\u002Fdocs\u002Fenv-variables","环境变量管理","dotenv 配置、各平台环境变量设置、.env 文件规范与安全实践","2026-02-27",1776215712536]