[{"data":1,"prerenderedAt":789},["ShallowReactive",2],{"doc-page:\u002Fdocs\u002Fmise-guide":3},{"doc":4,"prev":752,"next":760,"resolvedType":8,"readingMinutes":257,"audience":763,"checklist":767,"related":771},{"path":5,"title":6,"description":7,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":12,"publishedAt":12,"icon":13,"body":14},"\u002Fdocs\u002Fmise-guide","mise 多语言版本管理","用 mise 统一管理 Node.js、Python、Rust、Go 等运行时，以及项目级工具链配置","article",null,"dev-environment","开发环境","2025-11-14","i-carbon-code",{"type":15,"value":16,"toc":727},"minimark",[17,21,32,39,56,60,73,76,81,105,122,125,149,152,168,172,175,197,200,203,208,220,223,226,229,265,268,288,291,300,303,306,313,328,331,337,438,441,461,464,500,504,564,568,595,606,609,612,615,630,633,652,658,676,679,723],[18,19,6],"h1",{"id":20},"mise-多语言版本管理",[22,23,24,31],"p",{},[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fmise.jdx.dev\u002F",[29],"nofollow","mise"," 用于统一管理 Node.js、Python、Rust、Go、Java 等运行时，也支持项目级工具链配置。",[22,33,34,35,38],{},"如果需要一个入口同时管理多种语言，",[36,37,30],"code",{}," 比分别维护多套版本管理器更直接。",[22,40,41,42,46,47,49,50,52,53,55],{},"如果你是在重装 \u002F 新装系统后恢复整机环境，先按 ",[25,43,45],{"href":44},"\u002Fsetup","Windows 重装部署顺序指南"," 完成目录规划、用户级环境变量和包管理器阶段，再回到这页处理 ",[36,48,30],{}," 本身。",[36,51,44],{}," 负责定义顺序，这一页只负责解释 ",[36,54,30],{}," 怎么用。",[57,58,59],"h2",{"id":59},"适合谁",[61,62,63,67,70],"ul",{},[64,65,66],"li",{},"同时维护前端、后端、脚本和自动化项目",[64,68,69],{},"希望团队成员进入仓库后自动对齐工具版本",[64,71,72],{},"想把版本管理和任务脚本一起放进项目配置",[57,74,75],{"id":75},"安装",[77,78,80],"h3",{"id":79},"windows","Windows",[22,82,83,84,86,87,89,90,93,94,97,98,101,102,104],{},"在 ",[36,85,44],{}," 的推荐顺序里，",[36,88,30],{}," 位于 “包管理器策略与基础 PATH” 之后、“语言运行时恢复” 阶段内。也就是说，先定好 ",[36,91,92],{},"D:\\Tools\\"," \u002F ",[36,95,96],{},"D:\\Cache\\"," 这类目录和 ",[36,99,100],{},"MISE_DATA_DIR","，再安装 ",[36,103,30],{},"。",[106,107,112],"pre",{"className":108,"code":109,"language":110,"meta":111,"style":111},"language-powershell shiki shiki-themes github-light github-dark","winget install jdx.mise\n","powershell","",[36,113,114],{"__ignoreMap":111},[115,116,119],"span",{"class":117,"line":118},"line",1,[115,120,109],{"class":121},"sVt8B",[22,123,124],{},"PowerShell 首次使用前，建议把激活命令加入 PowerShell 配置文件：",[106,126,128],{"className":108,"code":127,"language":110,"meta":111,"style":111},"mise activate pwsh | Out-String | Invoke-Expression\n",[36,129,130],{"__ignoreMap":111},[115,131,132,135,139,143,146],{"class":117,"line":118},[115,133,134],{"class":121},"mise activate pwsh ",[115,136,138],{"class":137},"szBVR","|",[115,140,142],{"class":141},"sj4cs"," Out-String",[115,144,145],{"class":137}," |",[115,147,148],{"class":141}," Invoke-Expression\n",[22,150,151],{},"安装后验证：",[106,153,155],{"className":108,"code":154,"language":110,"meta":111,"style":111},"mise --version\n",[36,156,157],{"__ignoreMap":111},[115,158,159,162,165],{"class":117,"line":118},[115,160,161],{"class":121},"mise ",[115,163,164],{"class":137},"--",[115,166,167],{"class":121},"version\n",[77,169,171],{"id":170},"wsl-macos-linux","WSL \u002F macOS \u002F Linux",[22,173,174],{},"如果你主要在 WSL2、macOS 或 Linux 中开发，可以使用官方安装脚本：",[106,176,180],{"className":177,"code":178,"language":179,"meta":111,"style":111},"language-bash shiki shiki-themes github-light github-dark","curl https:\u002F\u002Fmise.run | sh\n","bash",[36,181,182],{"__ignoreMap":111},[115,183,184,188,192,194],{"class":117,"line":118},[115,185,187],{"class":186},"sScJk","curl",[115,189,191],{"class":190},"sZZnC"," https:\u002F\u002Fmise.run",[115,193,145],{"class":137},[115,195,196],{"class":186}," sh\n",[22,198,199],{},"安装后重新打开终端，或把激活命令加入你的 Shell 配置文件。",[57,201,202],{"id":202},"推荐使用方式",[22,204,205,207],{},[36,206,30],{}," 最适合做两件事：",[209,210,211,214],"ol",{},[64,212,213],{},"统一多语言运行时版本",[64,215,216,217],{},"把常用项目命令一起收进 ",[36,218,219],{},"mise.toml",[22,221,222],{},"也就是说，它不只是“装版本”，还可以顺手承担一部分轻量任务运行器角色。",[57,224,225],{"id":225},"常用命令",[77,227,228],{"id":228},"安装全局工具版本",[106,230,232],{"className":108,"code":231,"language":110,"meta":111,"style":111},"mise use -g node@22\nmise use -g pnpm@latest\nmise use -g python@3.12\n",[36,233,234,245,255],{"__ignoreMap":111},[115,235,236,239,242],{"class":117,"line":118},[115,237,238],{"class":121},"mise use ",[115,240,241],{"class":137},"-",[115,243,244],{"class":121},"g node@22\n",[115,246,248,250,252],{"class":117,"line":247},2,[115,249,238],{"class":121},[115,251,241],{"class":137},[115,253,254],{"class":121},"g pnpm@latest\n",[115,256,258,260,262],{"class":117,"line":257},3,[115,259,238],{"class":121},[115,261,241],{"class":137},[115,263,264],{"class":121},"g python@3.12\n",[77,266,267],{"id":267},"在当前项目中固定版本",[106,269,271],{"className":108,"code":270,"language":110,"meta":111,"style":111},"mise use node@22\nmise use pnpm@latest\nmise use python@3.12\n",[36,272,273,278,283],{"__ignoreMap":111},[115,274,275],{"class":117,"line":118},[115,276,277],{"class":121},"mise use node@22\n",[115,279,280],{"class":117,"line":247},[115,281,282],{"class":121},"mise use pnpm@latest\n",[115,284,285],{"class":117,"line":257},[115,286,287],{"class":121},"mise use python@3.12\n",[22,289,290],{},"进入项目后可执行：",[106,292,294],{"className":108,"code":293,"language":110,"meta":111,"style":111},"mise install\n",[36,295,296],{"__ignoreMap":111},[115,297,298],{"class":117,"line":118},[115,299,293],{"class":121},[22,301,302],{},"这样会根据项目配置安装缺失的运行时和工具。",[77,304,305],{"id":305},"执行项目任务",[22,307,308,309,312],{},"如果项目里定义了 ",[36,310,311],{},"tasks","，可以直接运行：",[106,314,316],{"className":108,"code":315,"language":110,"meta":111,"style":111},"mise run dev\nmise run build\n",[36,317,318,323],{"__ignoreMap":111},[115,319,320],{"class":117,"line":118},[115,321,322],{"class":121},"mise run dev\n",[115,324,325],{"class":117,"line":247},[115,326,327],{"class":121},"mise run build\n",[22,329,330],{},"这样比到处翻 README 找命令更稳定，也更适合团队统一入口。",[57,332,334,336],{"id":333},"misetoml-示例",[36,335,219],{}," 示例",[106,338,342],{"className":339,"code":340,"language":341,"meta":111,"style":111},"language-toml shiki shiki-themes github-light github-dark","[tools]\nnode = \"22\"\npnpm = \"latest\"\npython = \"3.12\"\n\n[tasks.dev]\nrun = \"pnpm dev\"\n\n[tasks.build]\nrun = \"pnpm build\"\n","toml",[36,343,344,355,363,371,380,387,402,411,416,430],{"__ignoreMap":111},[115,345,346,349,352],{"class":117,"line":118},[115,347,348],{"class":121},"[",[115,350,351],{"class":186},"tools",[115,353,354],{"class":121},"]\n",[115,356,357,360],{"class":117,"line":247},[115,358,359],{"class":121},"node = ",[115,361,362],{"class":190},"\"22\"\n",[115,364,365,368],{"class":117,"line":257},[115,366,367],{"class":121},"pnpm = ",[115,369,370],{"class":190},"\"latest\"\n",[115,372,374,377],{"class":117,"line":373},4,[115,375,376],{"class":121},"python = ",[115,378,379],{"class":190},"\"3.12\"\n",[115,381,383],{"class":117,"line":382},5,[115,384,386],{"emptyLinePlaceholder":385},true,"\n",[115,388,390,392,394,397,400],{"class":117,"line":389},6,[115,391,348],{"class":121},[115,393,311],{"class":186},[115,395,396],{"class":121},".",[115,398,399],{"class":186},"dev",[115,401,354],{"class":121},[115,403,405,408],{"class":117,"line":404},7,[115,406,407],{"class":121},"run = ",[115,409,410],{"class":190},"\"pnpm dev\"\n",[115,412,414],{"class":117,"line":413},8,[115,415,386],{"emptyLinePlaceholder":385},[115,417,419,421,423,425,428],{"class":117,"line":418},9,[115,420,348],{"class":121},[115,422,311],{"class":186},[115,424,396],{"class":121},[115,426,427],{"class":186},"build",[115,429,354],{"class":121},[115,431,433,435],{"class":117,"line":432},10,[115,434,407],{"class":121},[115,436,437],{"class":190},"\"pnpm build\"\n",[22,439,440],{},"常见工作流：",[209,442,443,448,454],{},[64,444,445,446],{},"仓库提交 ",[36,447,219],{},[64,449,450,451],{},"新成员拉代码后执行 ",[36,452,453],{},"mise install",[64,455,456,457,460],{},"之后直接运行 ",[36,458,459],{},"mise run dev"," 或项目原生命令",[57,462,463],{"id":463},"团队协作建议",[61,465,466,471,477,484],{},[64,467,468,469],{},"在仓库根目录维护统一的 ",[36,470,219],{},[64,472,473,474,476],{},"把高频任务写进 ",[36,475,311],{},"，减少新成员记命令成本",[64,478,479,480,483],{},"如果某个语言已经有官方强依赖工具（如 Rust 的 ",[36,481,482],{},"rustup","），也要先约定由谁作为主入口",[64,485,486,487,489,490,489,493,489,496,499],{},"不要同时把 ",[36,488,30],{},"、",[36,491,492],{},"nvm",[36,494,495],{},"fnm",[36,497,498],{},"pyenv"," 都当成默认入口，后期 PATH 很容易混乱",[57,501,503],{"id":502},"和-voltafnm-的区别","和 Volta、fnm 的区别",[505,506,507,523],"table",{},[508,509,510],"thead",{},[511,512,513,517,520],"tr",{},[514,515,516],"th",{},"工具",[514,518,519],{},"更适合",[514,521,522],{},"特点",[524,525,526,539,552],"tbody",{},[511,527,528,533,536],{},[529,530,531],"td",{},[36,532,495],{},[529,534,535],{},"只需要 Node.js",[529,537,538],{},"轻量、启动快、配置简单",[511,540,541,546,549],{},[529,542,543],{},[36,544,545],{},"Volta",[529,547,548],{},"以 Node.js 为主的仓库",[529,550,551],{},"对 Node、npm、pnpm、Yarn 体验很好",[511,553,554,558,561],{},[529,555,556],{},[36,557,30],{},[529,559,560],{},"多语言项目或统一工具链",[529,562,563],{},"一套配置管理多语言与任务",[57,565,567],{"id":566},"在-windows-开发中的建议","在 Windows 开发中的建议",[61,569,570,580,587],{},[64,571,572,576,577],{},[573,574,575],"strong",{},"纯前端 \u002F Node 项目","：优先考虑 ",[25,578,545],{"href":579},"\u002Fdocs\u002Fvolta-guide",[64,581,582,576,585],{},[573,583,584],{},"多语言仓库",[36,586,30],{},[64,588,589,592,593],{},[573,590,591],{},"只想要最轻量的 Node 版本切换","：保留 ",[36,594,495],{},[22,596,597,598,600,601,489,603,605],{},"但如果你已经决定让 ",[36,599,30],{}," 成为整机的语言主入口，就不要再让 ",[36,602,495],{},[36,604,545],{},"、官方 Python 安装器长期并列接管同一台机器的主 PATH。",[22,607,608],{},"不建议在同一台机器里长期混用多个 Node 版本管理器作为主入口，否则 PATH 优先级会越来越混乱。",[57,610,611],{"id":611},"常见问题",[77,613,614],{"id":614},"安装后命令不生效",[61,616,617,620,627],{},[64,618,619],{},"先确认 Shell 激活命令是否真正写入配置文件",[64,621,622,623,626],{},"重新打开终端或手动 ",[36,624,625],{},"source"," 配置",[64,628,629],{},"检查旧版本管理器是否抢占了 PATH",[77,631,632],{"id":632},"为什么进入项目目录后版本没切换",[61,634,635,640,645],{},[64,636,637,638],{},"检查仓库里是否真的存在 ",[36,639,219],{},[64,641,642,643],{},"执行一次 ",[36,644,453],{},[64,646,647,648,651],{},"再用 ",[36,649,650],{},"mise ls"," 或对应语言命令确认当前版本",[77,653,655,657],{"id":654},"mise-和包管理器是什么关系",[36,656,30],{}," 和包管理器是什么关系",[22,659,660,662,663,489,666,489,669,489,672,675],{},[36,661,30],{}," 管的是运行时与工具版本；",[36,664,665],{},"npm",[36,667,668],{},"pnpm",[36,670,671],{},"pip",[36,673,674],{},"cargo"," 等仍然负责安装各自生态里的依赖。不要把两者混为一谈。",[57,677,678],{"id":678},"参考链接",[61,680,681,687,694,701,709,716],{},[64,682,683,686],{},[25,684,685],{"href":44},"Windows 重装部署清单"," — 重装后的主清单入口",[64,688,689,693],{},[25,690,692],{"href":691},"\u002Fdocs\u002Fwindows-machine-log","Windows 重装部署清单（详情）"," — 逐项版本与下载链接",[64,695,696,700],{},[25,697,699],{"href":27,"rel":698},[29],"mise 官网"," — 文档首页",[64,702,703,708],{},[25,704,707],{"href":705,"rel":706},"https:\u002F\u002Fmise.jdx.dev\u002Fgetting-started.html",[29],"mise Getting Started"," — 安装与 Shell 激活",[64,710,711,715],{},[25,712,714],{"href":713},"\u002Fdocs\u002Fdev-environment","Windows 开发环境搭建"," — 相关环境初始化",[64,717,718,722],{},[25,719,721],{"href":720},"\u002Fdocs\u002Flocal-setup","本地运行与部署"," — 结合仓库实际开发流程一起看更顺手",[724,725,726],"style",{},"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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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}",{"title":111,"searchDepth":247,"depth":247,"links":728},[729,730,734,735,740,742,743,744,745,751],{"id":59,"depth":247,"text":59},{"id":75,"depth":247,"text":75,"children":731},[732,733],{"id":79,"depth":257,"text":80},{"id":170,"depth":257,"text":171},{"id":202,"depth":247,"text":202},{"id":225,"depth":247,"text":225,"children":736},[737,738,739],{"id":228,"depth":257,"text":228},{"id":267,"depth":257,"text":267},{"id":305,"depth":257,"text":305},{"id":333,"depth":247,"text":741},"mise.toml 示例",{"id":463,"depth":247,"text":463},{"id":502,"depth":247,"text":503},{"id":566,"depth":247,"text":567},{"id":611,"depth":247,"text":611,"children":746},[747,748,749],{"id":614,"depth":257,"text":614},{"id":632,"depth":257,"text":632},{"id":654,"depth":257,"text":750},"mise 和包管理器是什么关系",{"id":678,"depth":247,"text":678},{"path":753,"title":754,"description":755,"docType":8,"resourceKind":9,"categoryId":756,"categoryLabel":757,"updatedAt":758,"publishedAt":758,"icon":759},"\u002Fdocs\u002Fnginx-basics","Nginx 基础配置","Nginx 安装、静态站点、反向代理、HTTPS 配置与性能优化","infra-deployment","服务器与部署","2025-11-25","i-carbon-cloud",{"path":713,"title":714,"description":761,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":762,"publishedAt":762,"icon":13},"从零搭建 Windows 开发环境的完整流程，涵盖编辑器、运行时、终端美化、WSL 等","2025-11-08",[764,765,766],"希望把零散经验整理成长期可复用工作流的人","正在搭建开发环境、统一工具链或排查构建问题的开发者","希望阅读时顺手建立自己的操作清单或收藏体系的人",[768,769,770],"先浏览标题、摘要和目录，带着问题阅读会更高效","确认本机 Node、包管理器、终端和仓库依赖版本是否一致","如果页面里提到相关文档，尽量一起打开对照，效果通常更完整",[772,775,779,784],{"path":720,"title":721,"description":773,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":774,"publishedAt":774,"icon":13},"使用 bun 安装、开发、构建与预览 DomiVault 的完整本地流程与排障指引","2026-03-10",{"path":579,"title":776,"description":777,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":778,"publishedAt":778,"icon":13},"Volta Node 版本管理","使用 Volta 管理 Node.js、npm、pnpm 和 Yarn，并在项目中固定 JavaScript 工具链版本","2026-03-08",{"path":780,"title":781,"description":782,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":783,"publishedAt":783,"icon":13},"\u002Fdocs\u002Fpnpm-monorepo","pnpm 与 Monorepo","pnpm 使用技巧、workspace 配置、Monorepo 项目管理与 Turborepo","2026-02-28",{"path":785,"title":786,"description":787,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":788,"publishedAt":788,"icon":13},"\u002Fdocs\u002Fenv-variables","环境变量管理","dotenv 配置、各平台环境变量设置、.env 文件规范与安全实践","2026-02-27",1776215713436]