[{"data":1,"prerenderedAt":3358},["ShallowReactive",2],{"navigation_docs":3,"-guides-system-environment-tools":173,"-guides-system-environment-tools-surround":3355},[4,46,75],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":45},"Bookmarks","i-lucide:bookmark","\u002Fbookmarks","10.bookmarks",[10,15,20,25,30,35,40],{"title":11,"path":12,"stem":13,"icon":14},"工具","\u002Fbookmarks\u002Ftools","10.bookmarks\u002F10.tools","i-lucide:wrench",{"title":16,"path":17,"stem":18,"icon":19},"开发","\u002Fbookmarks\u002Fdev","10.bookmarks\u002F20.dev","i-lucide:code-xml",{"title":21,"path":22,"stem":23,"icon":24},"学习","\u002Fbookmarks\u002Flearn","10.bookmarks\u002F30.learn","i-lucide:graduation-cap",{"title":26,"path":27,"stem":28,"icon":29},"媒体","\u002Fbookmarks\u002Fmedia","10.bookmarks\u002F40.media","i-lucide:image",{"title":31,"path":32,"stem":33,"icon":34},"AI","\u002Fbookmarks\u002Fai","10.bookmarks\u002F50.ai","i-lucide:sparkles",{"title":36,"path":37,"stem":38,"icon":39},"设计","\u002Fbookmarks\u002Fdesign","10.bookmarks\u002F60.design","i-lucide:palette",{"title":41,"path":42,"stem":43,"icon":44},"其它","\u002Fbookmarks\u002Fmore","10.bookmarks\u002F70.more","i-lucide:ellipsis",false,{"title":31,"icon":34,"path":47,"stem":48,"children":49,"page":45},"\u002Fai","20.ai",[50,55,60,65,70],{"title":51,"path":52,"stem":53,"icon":54},"Agent 工具","\u002Fai\u002Fagent-tools","20.ai\u002F10.agent-tools","i-lucide:puzzle",{"title":56,"path":57,"stem":58,"icon":59},"OmniRoute 使用","\u002Fai\u002Fomniroute-setup","20.ai\u002F20.omniroute-setup","i-lucide:route",{"title":61,"path":62,"stem":63,"icon":64},"RTK 使用","\u002Fai\u002Frtk-setup","20.ai\u002F30.rtk-setup","i-lucide:scissors",{"title":66,"path":67,"stem":68,"icon":69},"Headroom 使用","\u002Fai\u002Fheadroom-setup","20.ai\u002F40.headroom-setup","i-lucide:minimize-2",{"title":71,"path":72,"stem":73,"icon":74},"Serena 使用","\u002Fai\u002Fserena-setup","20.ai\u002F50.serena-setup","i-lucide:scan-search",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":45},"Guides","i-lucide:book-open","\u002Fguides","30.guides",[81,133,159],{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":45},"Notes","i-lucide:notebook-text","\u002Fguides\u002Fnotes","30.guides\u002F10.notes",[87,91,96,100,105,109,113,118,123,128],{"title":88,"path":89,"stem":90,"icon":19},"开发问题记录","\u002Fguides\u002Fnotes\u002Fdev-qa","30.guides\u002F10.notes\u002F10.dev-qa",{"title":92,"path":93,"stem":94,"icon":95},"js 常用整理","\u002Fguides\u002Fnotes\u002Fjs-tidy","30.guides\u002F10.notes\u002F20.js-tidy","i-lucide:braces",{"title":97,"path":98,"stem":99,"icon":95},"js 小技巧","\u002Fguides\u002Fnotes\u002Fjs-tips","30.guides\u002F10.notes\u002F30.js-tips",{"title":101,"path":102,"stem":103,"icon":104},"git 问题记录","\u002Fguides\u002Fnotes\u002Fgit-qa","30.guides\u002F10.notes\u002F40.git-qa","i-lucide:git-branch",{"title":106,"path":107,"stem":108,"icon":104},"git 扩展命令","\u002Fguides\u002Fnotes\u002Fgit-expand","30.guides\u002F10.notes\u002F50.git-expand",{"title":110,"path":111,"stem":112,"icon":104},"git 命令速查表","\u002Fguides\u002Fnotes\u002Fgit-cheatsheet","30.guides\u002F10.notes\u002F60.git-cheatsheet",{"title":114,"path":115,"stem":116,"icon":117},"bash 命令速查表","\u002Fguides\u002Fnotes\u002Fbash-cheatsheet","30.guides\u002F10.notes\u002F70.bash-cheatsheet","i-lucide:square-terminal",{"title":119,"path":120,"stem":121,"icon":122},"linux 命令速查表","\u002Fguides\u002Fnotes\u002Flinux-cheatsheet","30.guides\u002F10.notes\u002F80.linux-cheatsheet","i-lucide:server",{"title":124,"path":125,"stem":126,"icon":127},"Docker 使用","\u002Fguides\u002Fnotes\u002Fdocker-setup","30.guides\u002F10.notes\u002F90.docker-setup","i-lucide:container",{"title":129,"path":130,"stem":131,"icon":132},"常用工具命令","\u002Fguides\u002Fnotes\u002Fcommon-tool-commands","30.guides\u002F10.notes\u002F95.common-tool-commands","i-lucide:toolbox",{"title":134,"icon":135,"path":136,"stem":137,"children":138,"page":45},"System","i-lucide:monitor","\u002Fguides\u002Fsystem","30.guides\u002F20.system",[139,144,149,154],{"title":140,"path":141,"stem":142,"icon":143},"系统常用软件","\u002Fguides\u002Fsystem\u002Fsystem-software","30.guides\u002F20.system\u002F10.system-software","i-lucide:package",{"title":145,"path":146,"stem":147,"icon":148},"环境工具","\u002Fguides\u002Fsystem\u002Fenvironment-tools","30.guides\u002F20.system\u002F20.environment-tools","i-lucide:boxes",{"title":150,"path":151,"stem":152,"icon":153},"开发工具命令","\u002Fguides\u002Fsystem\u002Fdev-tools-commands","30.guides\u002F20.system\u002F21.dev-tools-commands","i-lucide:terminal",{"title":155,"path":156,"stem":157,"icon":158},"macOS 使用记录","\u002Fguides\u002Fsystem\u002Fmacos-usage-record","30.guides\u002F20.system\u002F30.macos-usage-record","i-simple-icons:apple",{"title":160,"icon":54,"path":161,"stem":162,"children":163,"page":45},"Other","\u002Fguides\u002Fother","30.guides\u002F30.other",[164,169],{"title":165,"path":166,"stem":167,"icon":168},"汉语拼音和小鹤双拼","\u002Fguides\u002Fother\u002Fflypy-pinyin","30.guides\u002F30.other\u002F10.flypy-pinyin","i-lucide:notebook-pen",{"title":170,"path":171,"stem":172,"icon":143},"魔方公式","\u002Fguides\u002Fother\u002Frubik-cube-formula","30.guides\u002F30.other\u002F20.rubik-cube-formula",{"id":174,"title":145,"body":175,"description":195,"extension":3349,"links":3350,"meta":3351,"navigation":3352,"path":146,"seo":3353,"stem":147,"__hash__":3354},"docs\u002F30.guides\u002F20.system\u002F20.environment-tools.md",{"type":176,"value":177,"toc":3343},"minimark",[178,183,188,228,1321,1375,1418,1456,1460,1464,1555,2090,2212,2216,2220,2449,2827,2831,2839,2886,3339],[179,180,182],"h2",{"id":181},"homebrew","Homebrew",[184,185,187],"tip",{"to":186},"https:\u002F\u002Fbrew.sh\u002F","简称 brew，是 macOS 和 Linux 上最流行的包管理工具，它可以帮助你安装、更新和管理软件包。类似于 Ubuntu 的 apt 或 CentOS 的 yum。",[189,190,196],"pre",{"className":191,"code":192,"filename":193,"language":194,"meta":195,"style":195},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","$ \u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n","安装","bash","",[197,198,199],"code",{"__ignoreMap":195},[200,201,204,208,212,215,219,222,225],"span",{"class":202,"line":203},"line",1,[200,205,207],{"class":206},"sBMFI","$",[200,209,211],{"class":210},"sfazB"," \u002Fbin\u002Fbash",[200,213,214],{"class":210}," -c",[200,216,218],{"class":217},"sMK4o"," \"$(",[200,220,221],{"class":206},"curl",[200,223,224],{"class":210}," -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh",[200,226,227],{"class":217},")\"\n",[189,229,232],{"className":191,"code":230,"filename":231,"language":194,"meta":195,"style":195},"# 基础信息与查看\n$ brew --version                        # 查看版本\n$ brew help                             # 查看 Homebrew 的基础帮助信息\n$ brew config                           # 显示当前 Homebrew 的配置信息（如镜像源、版本等）\n$ brew doctor                           # 检查系统环境，诊断并提示潜在的配置问题\n$ brew doctor --verbose                 # 输出详细诊断信息的检查\n$ brew info \u003Cformula|cask>              # 显示某个软件包的详细信息（大小、依赖、官方主页等）\n$ brew home \u003Cformula|cask>              # 直接在浏览器中打开该软件的官方主页\n\n# 软件的搜索、安装与卸载\n$ brew search \u003Cformula|cask>            # 在线搜索软件包（支持模糊匹配）\n$ brew fetch \u003Cformula|cask>             # 仅下载软件的安装包到缓存目录，不执行安装\n$ brew fetch --force \u003Cformula|cask>     # 强制重新下载指定软件的安装包\n$ brew install \u003Cformula>                # 安装一个命令行工具（Formula）\n$ brew install --cask \u003Ccask>            # 安装一个 macOS 图形界面应用程序（Cask）\n$ brew uninstall \u003Cformula|cask>         # 卸载指定的软件包或应用\n\n# 已安装软件管理\n$ brew list\u002Fls                          # 列出本地所有已经安装的软件包\u002F应用\n$ brew list \u003Cformula|cask>              # 查看某个已安装软件的具体文件安装路径\n$ brew deps \u003Cformula>                   # 查看当前包依赖于哪些其他底层插件\n$ brew uses \u003Cformula> --installed       # 查看本地有哪些已安装的软件正依赖着这个包\n\n# 软件更新与锁定\n$ brew update                           # 更新 Homebrew 自身以及所有的软件索引\n$ brew update-reset                     # 【急救】强制将 Homebrew 核心重置到官方最新状态\n$ brew outdated                         # 列出本地所有有新版本可更新的软件包\n$ brew upgrade                          # 更新本地所有已经过期的软件包\n$ brew upgrade \u003Cformula|cask>           # 仅更新指定的软件包\n$ brew pin \u003Cformula>                    # 锁定该软件版本，使其在运行 upgrade 时不被自动更新\n$ brew unpin \u003Cformula>                  # 取消版本锁定\n\n# 系统清理与维护\n$ brew cleanup -n                       # 预览可以清理的旧版本和缓存文件（不实际执行删除）\n$ brew cleanup                          # 清理所有已过期的旧版本软件、未下载完的碎片和缓存\n$ brew cleanup \u003Cformula|cask>           # 仅清理指定软件的旧版本留存\n$ brew autoremove                       # 自动卸载那些因为别的软件被删、现在孤立无用的依赖包\n$ open $(brew --cache)                  # 直接在 Finder 中打开 Homebrew 的下载缓存文件夹\n\n# 第三方仓库管理 (tap)\n$ brew tap                              # 查看本地已经添加的所有第三方软件仓库\n$ brew tap \u003Cuser\u002Frepo>                  # 添加并追踪一个第三方的 GitHub 软件仓库\n$ brew untap \u003Cuser\u002Frepo>                # 移除已经添加的第三方仓库\n$ brew tap --repair                     # 修复本地所有 tap 的 Git 仓库指针状态\n\n# 第三方 tap 信任（记录在 ~\u002F.homebrew\u002Ftrust.json，untap 不会删除）\n$ brew trust --json v1                       # 查看信任记录\n$ brew trust --tap \u003Cuser\u002Frepo>               # 信任整个 tap\n$ brew trust --formula \u003Cuser\u002Frepo\u002Fformula>   # 信任一条 formula\n$ brew trust --cask \u003Cuser\u002Frepo\u002Fcask>         # 信任一条 cask\n$ brew untrust --tap \u003Cuser\u002Frepo>             # 取消 tap 信任\n$ brew untrust --formula \u003Cuser\u002Frepo\u002Fformula> # 取消 formula 信任\n$ brew untrust --cask \u003Cuser\u002Frepo\u002Fcask>       # 取消 cask 信任\n\n# 后台服务管理 (Services)\n$ brew services list                    # 查看当前所有后台服务的运行状态（简写：brew services ls）\n$ brew services list -d                 # 查看所有服务状态并显示详细的调试日志\n$ brew services start \u003Cformula>         # 启动该服务，并设置开机自启\n$ brew services stop \u003Cformula>          # 停止该后台服务，并取消开机自启\n$ brew services restart \u003Cformula>       # 重启该后台服务\n$ brew services info \u003Cformula>          # 查看该服务的详细运行信息（如进程 ID、路径等）\n\n# 环境备份与迁移 (Bundle)\n# 备份当前 Mac 上的所有 brew 软件到桌面（排除 VS Code 插件）\n$ brew bundle dump --no-vscode --force --file=~\u002FDesktop\u002FBrewfile\n\n# 检查桌面的 Brewfile 列表里有哪些软件在当前电脑上还没安装\n$ brew bundle check --file=~\u002FDesktop\u002FBrewfile\n\n# 读取桌面的 Brewfile 并自动开始批量静默安装\n$ brew bundle install --file=~\u002FDesktop\u002FBrewfile\n","命令",[197,233,234,240,254,267,280,293,308,337,360,367,373,397,421,447,471,496,520,525,531,544,567,588,612,617,623,636,649,662,675,698,719,740,745,751,767,779,801,814,837,842,848,861,883,904,919,924,930,949,972,996,1019,1042,1064,1086,1091,1097,1112,1129,1152,1175,1198,1220,1225,1231,1237,1264,1269,1275,1293,1298,1304],{"__ignoreMap":195},[200,235,236],{"class":202,"line":203},[200,237,239],{"class":238},"sHwdD","# 基础信息与查看\n",[200,241,243,245,248,251],{"class":202,"line":242},2,[200,244,207],{"class":206},[200,246,247],{"class":210}," brew",[200,249,250],{"class":210}," --version",[200,252,253],{"class":238},"                        # 查看版本\n",[200,255,257,259,261,264],{"class":202,"line":256},3,[200,258,207],{"class":206},[200,260,247],{"class":210},[200,262,263],{"class":210}," help",[200,265,266],{"class":238},"                             # 查看 Homebrew 的基础帮助信息\n",[200,268,270,272,274,277],{"class":202,"line":269},4,[200,271,207],{"class":206},[200,273,247],{"class":210},[200,275,276],{"class":210}," config",[200,278,279],{"class":238},"                           # 显示当前 Homebrew 的配置信息（如镜像源、版本等）\n",[200,281,283,285,287,290],{"class":202,"line":282},5,[200,284,207],{"class":206},[200,286,247],{"class":210},[200,288,289],{"class":210}," doctor",[200,291,292],{"class":238},"                           # 检查系统环境，诊断并提示潜在的配置问题\n",[200,294,296,298,300,302,305],{"class":202,"line":295},6,[200,297,207],{"class":206},[200,299,247],{"class":210},[200,301,289],{"class":210},[200,303,304],{"class":210}," --verbose",[200,306,307],{"class":238},"                 # 输出详细诊断信息的检查\n",[200,309,311,313,315,318,321,324,327,330,334],{"class":202,"line":310},7,[200,312,207],{"class":206},[200,314,247],{"class":210},[200,316,317],{"class":210}," info",[200,319,320],{"class":217}," \u003C",[200,322,323],{"class":210},"formula",[200,325,326],{"class":217},"|",[200,328,329],{"class":206},"cask",[200,331,333],{"class":332},"sTEyZ",">              ",[200,335,336],{"class":238},"# 显示某个软件包的详细信息（大小、依赖、官方主页等）\n",[200,338,340,342,344,347,349,351,353,355,357],{"class":202,"line":339},8,[200,341,207],{"class":206},[200,343,247],{"class":210},[200,345,346],{"class":210}," home",[200,348,320],{"class":217},[200,350,323],{"class":210},[200,352,326],{"class":217},[200,354,329],{"class":206},[200,356,333],{"class":332},[200,358,359],{"class":238},"# 直接在浏览器中打开该软件的官方主页\n",[200,361,363],{"class":202,"line":362},9,[200,364,366],{"emptyLinePlaceholder":365},true,"\n",[200,368,370],{"class":202,"line":369},10,[200,371,372],{"class":238},"# 软件的搜索、安装与卸载\n",[200,374,376,378,380,383,385,387,389,391,394],{"class":202,"line":375},11,[200,377,207],{"class":206},[200,379,247],{"class":210},[200,381,382],{"class":210}," search",[200,384,320],{"class":217},[200,386,323],{"class":210},[200,388,326],{"class":217},[200,390,329],{"class":206},[200,392,393],{"class":332},">            ",[200,395,396],{"class":238},"# 在线搜索软件包（支持模糊匹配）\n",[200,398,400,402,404,407,409,411,413,415,418],{"class":202,"line":399},12,[200,401,207],{"class":206},[200,403,247],{"class":210},[200,405,406],{"class":210}," fetch",[200,408,320],{"class":217},[200,410,323],{"class":210},[200,412,326],{"class":217},[200,414,329],{"class":206},[200,416,417],{"class":332},">             ",[200,419,420],{"class":238},"# 仅下载软件的安装包到缓存目录，不执行安装\n",[200,422,424,426,428,430,433,435,437,439,441,444],{"class":202,"line":423},13,[200,425,207],{"class":206},[200,427,247],{"class":210},[200,429,406],{"class":210},[200,431,432],{"class":210}," --force",[200,434,320],{"class":217},[200,436,323],{"class":210},[200,438,326],{"class":217},[200,440,329],{"class":206},[200,442,443],{"class":332},">     ",[200,445,446],{"class":238},"# 强制重新下载指定软件的安装包\n",[200,448,450,452,454,457,459,462,465,468],{"class":202,"line":449},14,[200,451,207],{"class":206},[200,453,247],{"class":210},[200,455,456],{"class":210}," install",[200,458,320],{"class":217},[200,460,461],{"class":210},"formul",[200,463,464],{"class":332},"a",[200,466,467],{"class":217},">",[200,469,470],{"class":238},"                # 安装一个命令行工具（Formula）\n",[200,472,474,476,478,480,483,485,488,491,493],{"class":202,"line":473},15,[200,475,207],{"class":206},[200,477,247],{"class":210},[200,479,456],{"class":210},[200,481,482],{"class":210}," --cask",[200,484,320],{"class":217},[200,486,487],{"class":210},"cas",[200,489,490],{"class":332},"k",[200,492,467],{"class":217},[200,494,495],{"class":238},"            # 安装一个 macOS 图形界面应用程序（Cask）\n",[200,497,499,501,503,506,508,510,512,514,517],{"class":202,"line":498},16,[200,500,207],{"class":206},[200,502,247],{"class":210},[200,504,505],{"class":210}," uninstall",[200,507,320],{"class":217},[200,509,323],{"class":210},[200,511,326],{"class":217},[200,513,329],{"class":206},[200,515,516],{"class":332},">         ",[200,518,519],{"class":238},"# 卸载指定的软件包或应用\n",[200,521,523],{"class":202,"line":522},17,[200,524,366],{"emptyLinePlaceholder":365},[200,526,528],{"class":202,"line":527},18,[200,529,530],{"class":238},"# 已安装软件管理\n",[200,532,534,536,538,541],{"class":202,"line":533},19,[200,535,207],{"class":206},[200,537,247],{"class":210},[200,539,540],{"class":210}," list\u002Fls",[200,542,543],{"class":238},"                          # 列出本地所有已经安装的软件包\u002F应用\n",[200,545,547,549,551,554,556,558,560,562,564],{"class":202,"line":546},20,[200,548,207],{"class":206},[200,550,247],{"class":210},[200,552,553],{"class":210}," list",[200,555,320],{"class":217},[200,557,323],{"class":210},[200,559,326],{"class":217},[200,561,329],{"class":206},[200,563,333],{"class":332},[200,565,566],{"class":238},"# 查看某个已安装软件的具体文件安装路径\n",[200,568,570,572,574,577,579,581,583,585],{"class":202,"line":569},21,[200,571,207],{"class":206},[200,573,247],{"class":210},[200,575,576],{"class":210}," deps",[200,578,320],{"class":217},[200,580,461],{"class":210},[200,582,464],{"class":332},[200,584,467],{"class":217},[200,586,587],{"class":238},"                   # 查看当前包依赖于哪些其他底层插件\n",[200,589,591,593,595,598,600,602,604,606,609],{"class":202,"line":590},22,[200,592,207],{"class":206},[200,594,247],{"class":210},[200,596,597],{"class":210}," uses",[200,599,320],{"class":217},[200,601,461],{"class":210},[200,603,464],{"class":332},[200,605,467],{"class":217},[200,607,608],{"class":210}," --installed",[200,610,611],{"class":238},"       # 查看本地有哪些已安装的软件正依赖着这个包\n",[200,613,615],{"class":202,"line":614},23,[200,616,366],{"emptyLinePlaceholder":365},[200,618,620],{"class":202,"line":619},24,[200,621,622],{"class":238},"# 软件更新与锁定\n",[200,624,626,628,630,633],{"class":202,"line":625},25,[200,627,207],{"class":206},[200,629,247],{"class":210},[200,631,632],{"class":210}," update",[200,634,635],{"class":238},"                           # 更新 Homebrew 自身以及所有的软件索引\n",[200,637,639,641,643,646],{"class":202,"line":638},26,[200,640,207],{"class":206},[200,642,247],{"class":210},[200,644,645],{"class":210}," update-reset",[200,647,648],{"class":238},"                     # 【急救】强制将 Homebrew 核心重置到官方最新状态\n",[200,650,652,654,656,659],{"class":202,"line":651},27,[200,653,207],{"class":206},[200,655,247],{"class":210},[200,657,658],{"class":210}," outdated",[200,660,661],{"class":238},"                         # 列出本地所有有新版本可更新的软件包\n",[200,663,665,667,669,672],{"class":202,"line":664},28,[200,666,207],{"class":206},[200,668,247],{"class":210},[200,670,671],{"class":210}," upgrade",[200,673,674],{"class":238},"                          # 更新本地所有已经过期的软件包\n",[200,676,678,680,682,684,686,688,690,692,695],{"class":202,"line":677},29,[200,679,207],{"class":206},[200,681,247],{"class":210},[200,683,671],{"class":210},[200,685,320],{"class":217},[200,687,323],{"class":210},[200,689,326],{"class":217},[200,691,329],{"class":206},[200,693,694],{"class":332},">           ",[200,696,697],{"class":238},"# 仅更新指定的软件包\n",[200,699,701,703,705,708,710,712,714,716],{"class":202,"line":700},30,[200,702,207],{"class":206},[200,704,247],{"class":210},[200,706,707],{"class":210}," pin",[200,709,320],{"class":217},[200,711,461],{"class":210},[200,713,464],{"class":332},[200,715,467],{"class":217},[200,717,718],{"class":238},"                    # 锁定该软件版本，使其在运行 upgrade 时不被自动更新\n",[200,720,722,724,726,729,731,733,735,737],{"class":202,"line":721},31,[200,723,207],{"class":206},[200,725,247],{"class":210},[200,727,728],{"class":210}," unpin",[200,730,320],{"class":217},[200,732,461],{"class":210},[200,734,464],{"class":332},[200,736,467],{"class":217},[200,738,739],{"class":238},"                  # 取消版本锁定\n",[200,741,743],{"class":202,"line":742},32,[200,744,366],{"emptyLinePlaceholder":365},[200,746,748],{"class":202,"line":747},33,[200,749,750],{"class":238},"# 系统清理与维护\n",[200,752,754,756,758,761,764],{"class":202,"line":753},34,[200,755,207],{"class":206},[200,757,247],{"class":210},[200,759,760],{"class":210}," cleanup",[200,762,763],{"class":210}," -n",[200,765,766],{"class":238},"                       # 预览可以清理的旧版本和缓存文件（不实际执行删除）\n",[200,768,770,772,774,776],{"class":202,"line":769},35,[200,771,207],{"class":206},[200,773,247],{"class":210},[200,775,760],{"class":210},[200,777,778],{"class":238},"                          # 清理所有已过期的旧版本软件、未下载完的碎片和缓存\n",[200,780,782,784,786,788,790,792,794,796,798],{"class":202,"line":781},36,[200,783,207],{"class":206},[200,785,247],{"class":210},[200,787,760],{"class":210},[200,789,320],{"class":217},[200,791,323],{"class":210},[200,793,326],{"class":217},[200,795,329],{"class":206},[200,797,694],{"class":332},[200,799,800],{"class":238},"# 仅清理指定软件的旧版本留存\n",[200,802,804,806,808,811],{"class":202,"line":803},37,[200,805,207],{"class":206},[200,807,247],{"class":210},[200,809,810],{"class":210}," autoremove",[200,812,813],{"class":238},"                       # 自动卸载那些因为别的软件被删、现在孤立无用的依赖包\n",[200,815,817,819,822,825,828,831,834],{"class":202,"line":816},38,[200,818,207],{"class":206},[200,820,821],{"class":210}," open",[200,823,824],{"class":217}," $(",[200,826,827],{"class":206},"brew",[200,829,830],{"class":210}," --cache",[200,832,833],{"class":217},")",[200,835,836],{"class":238},"                  # 直接在 Finder 中打开 Homebrew 的下载缓存文件夹\n",[200,838,840],{"class":202,"line":839},39,[200,841,366],{"emptyLinePlaceholder":365},[200,843,845],{"class":202,"line":844},40,[200,846,847],{"class":238},"# 第三方仓库管理 (tap)\n",[200,849,851,853,855,858],{"class":202,"line":850},41,[200,852,207],{"class":206},[200,854,247],{"class":210},[200,856,857],{"class":210}," tap",[200,859,860],{"class":238},"                              # 查看本地已经添加的所有第三方软件仓库\n",[200,862,864,866,868,870,872,875,878,880],{"class":202,"line":863},42,[200,865,207],{"class":206},[200,867,247],{"class":210},[200,869,857],{"class":210},[200,871,320],{"class":217},[200,873,874],{"class":210},"user\u002Frep",[200,876,877],{"class":332},"o",[200,879,467],{"class":217},[200,881,882],{"class":238},"                  # 添加并追踪一个第三方的 GitHub 软件仓库\n",[200,884,886,888,890,893,895,897,899,901],{"class":202,"line":885},43,[200,887,207],{"class":206},[200,889,247],{"class":210},[200,891,892],{"class":210}," untap",[200,894,320],{"class":217},[200,896,874],{"class":210},[200,898,877],{"class":332},[200,900,467],{"class":217},[200,902,903],{"class":238},"                # 移除已经添加的第三方仓库\n",[200,905,907,909,911,913,916],{"class":202,"line":906},44,[200,908,207],{"class":206},[200,910,247],{"class":210},[200,912,857],{"class":210},[200,914,915],{"class":210}," --repair",[200,917,918],{"class":238},"                     # 修复本地所有 tap 的 Git 仓库指针状态\n",[200,920,922],{"class":202,"line":921},45,[200,923,366],{"emptyLinePlaceholder":365},[200,925,927],{"class":202,"line":926},46,[200,928,929],{"class":238},"# 第三方 tap 信任（记录在 ~\u002F.homebrew\u002Ftrust.json，untap 不会删除）\n",[200,931,933,935,937,940,943,946],{"class":202,"line":932},47,[200,934,207],{"class":206},[200,936,247],{"class":210},[200,938,939],{"class":210}," trust",[200,941,942],{"class":210}," --json",[200,944,945],{"class":210}," v1",[200,947,948],{"class":238},"                       # 查看信任记录\n",[200,950,952,954,956,958,961,963,965,967,969],{"class":202,"line":951},48,[200,953,207],{"class":206},[200,955,247],{"class":210},[200,957,939],{"class":210},[200,959,960],{"class":210}," --tap",[200,962,320],{"class":217},[200,964,874],{"class":210},[200,966,877],{"class":332},[200,968,467],{"class":217},[200,970,971],{"class":238},"               # 信任整个 tap\n",[200,973,975,977,979,981,984,986,989,991,993],{"class":202,"line":974},49,[200,976,207],{"class":206},[200,978,247],{"class":210},[200,980,939],{"class":210},[200,982,983],{"class":210}," --formula",[200,985,320],{"class":217},[200,987,988],{"class":210},"user\u002Frepo\u002Fformul",[200,990,464],{"class":332},[200,992,467],{"class":217},[200,994,995],{"class":238},"   # 信任一条 formula\n",[200,997,999,1001,1003,1005,1007,1009,1012,1014,1016],{"class":202,"line":998},50,[200,1000,207],{"class":206},[200,1002,247],{"class":210},[200,1004,939],{"class":210},[200,1006,482],{"class":210},[200,1008,320],{"class":217},[200,1010,1011],{"class":210},"user\u002Frepo\u002Fcas",[200,1013,490],{"class":332},[200,1015,467],{"class":217},[200,1017,1018],{"class":238},"         # 信任一条 cask\n",[200,1020,1022,1024,1026,1029,1031,1033,1035,1037,1039],{"class":202,"line":1021},51,[200,1023,207],{"class":206},[200,1025,247],{"class":210},[200,1027,1028],{"class":210}," untrust",[200,1030,960],{"class":210},[200,1032,320],{"class":217},[200,1034,874],{"class":210},[200,1036,877],{"class":332},[200,1038,467],{"class":217},[200,1040,1041],{"class":238},"             # 取消 tap 信任\n",[200,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061],{"class":202,"line":1044},52,[200,1046,207],{"class":206},[200,1048,247],{"class":210},[200,1050,1028],{"class":210},[200,1052,983],{"class":210},[200,1054,320],{"class":217},[200,1056,988],{"class":210},[200,1058,464],{"class":332},[200,1060,467],{"class":217},[200,1062,1063],{"class":238}," # 取消 formula 信任\n",[200,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083],{"class":202,"line":1066},53,[200,1068,207],{"class":206},[200,1070,247],{"class":210},[200,1072,1028],{"class":210},[200,1074,482],{"class":210},[200,1076,320],{"class":217},[200,1078,1011],{"class":210},[200,1080,490],{"class":332},[200,1082,467],{"class":217},[200,1084,1085],{"class":238},"       # 取消 cask 信任\n",[200,1087,1089],{"class":202,"line":1088},54,[200,1090,366],{"emptyLinePlaceholder":365},[200,1092,1094],{"class":202,"line":1093},55,[200,1095,1096],{"class":238},"# 后台服务管理 (Services)\n",[200,1098,1100,1102,1104,1107,1109],{"class":202,"line":1099},56,[200,1101,207],{"class":206},[200,1103,247],{"class":210},[200,1105,1106],{"class":210}," services",[200,1108,553],{"class":210},[200,1110,1111],{"class":238},"                    # 查看当前所有后台服务的运行状态（简写：brew services ls）\n",[200,1113,1115,1117,1119,1121,1123,1126],{"class":202,"line":1114},57,[200,1116,207],{"class":206},[200,1118,247],{"class":210},[200,1120,1106],{"class":210},[200,1122,553],{"class":210},[200,1124,1125],{"class":210}," -d",[200,1127,1128],{"class":238},"                 # 查看所有服务状态并显示详细的调试日志\n",[200,1130,1132,1134,1136,1138,1141,1143,1145,1147,1149],{"class":202,"line":1131},58,[200,1133,207],{"class":206},[200,1135,247],{"class":210},[200,1137,1106],{"class":210},[200,1139,1140],{"class":210}," start",[200,1142,320],{"class":217},[200,1144,461],{"class":210},[200,1146,464],{"class":332},[200,1148,467],{"class":217},[200,1150,1151],{"class":238},"         # 启动该服务，并设置开机自启\n",[200,1153,1155,1157,1159,1161,1164,1166,1168,1170,1172],{"class":202,"line":1154},59,[200,1156,207],{"class":206},[200,1158,247],{"class":210},[200,1160,1106],{"class":210},[200,1162,1163],{"class":210}," stop",[200,1165,320],{"class":217},[200,1167,461],{"class":210},[200,1169,464],{"class":332},[200,1171,467],{"class":217},[200,1173,1174],{"class":238},"          # 停止该后台服务，并取消开机自启\n",[200,1176,1178,1180,1182,1184,1187,1189,1191,1193,1195],{"class":202,"line":1177},60,[200,1179,207],{"class":206},[200,1181,247],{"class":210},[200,1183,1106],{"class":210},[200,1185,1186],{"class":210}," restart",[200,1188,320],{"class":217},[200,1190,461],{"class":210},[200,1192,464],{"class":332},[200,1194,467],{"class":217},[200,1196,1197],{"class":238},"       # 重启该后台服务\n",[200,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217],{"class":202,"line":1200},61,[200,1202,207],{"class":206},[200,1204,247],{"class":210},[200,1206,1106],{"class":210},[200,1208,317],{"class":210},[200,1210,320],{"class":217},[200,1212,461],{"class":210},[200,1214,464],{"class":332},[200,1216,467],{"class":217},[200,1218,1219],{"class":238},"          # 查看该服务的详细运行信息（如进程 ID、路径等）\n",[200,1221,1223],{"class":202,"line":1222},62,[200,1224,366],{"emptyLinePlaceholder":365},[200,1226,1228],{"class":202,"line":1227},63,[200,1229,1230],{"class":238},"# 环境备份与迁移 (Bundle)\n",[200,1232,1234],{"class":202,"line":1233},64,[200,1235,1236],{"class":238},"# 备份当前 Mac 上的所有 brew 软件到桌面（排除 VS Code 插件）\n",[200,1238,1240,1242,1244,1247,1250,1253,1255,1258,1261],{"class":202,"line":1239},65,[200,1241,207],{"class":206},[200,1243,247],{"class":210},[200,1245,1246],{"class":210}," bundle",[200,1248,1249],{"class":210}," dump",[200,1251,1252],{"class":210}," --no-vscode",[200,1254,432],{"class":210},[200,1256,1257],{"class":210}," --file=",[200,1259,1260],{"class":217},"~",[200,1262,1263],{"class":210},"\u002FDesktop\u002FBrewfile\n",[200,1265,1267],{"class":202,"line":1266},66,[200,1268,366],{"emptyLinePlaceholder":365},[200,1270,1272],{"class":202,"line":1271},67,[200,1273,1274],{"class":238},"# 检查桌面的 Brewfile 列表里有哪些软件在当前电脑上还没安装\n",[200,1276,1278,1280,1282,1284,1287,1289,1291],{"class":202,"line":1277},68,[200,1279,207],{"class":206},[200,1281,247],{"class":210},[200,1283,1246],{"class":210},[200,1285,1286],{"class":210}," check",[200,1288,1257],{"class":210},[200,1290,1260],{"class":217},[200,1292,1263],{"class":210},[200,1294,1296],{"class":202,"line":1295},69,[200,1297,366],{"emptyLinePlaceholder":365},[200,1299,1301],{"class":202,"line":1300},70,[200,1302,1303],{"class":238},"# 读取桌面的 Brewfile 并自动开始批量静默安装\n",[200,1305,1307,1309,1311,1313,1315,1317,1319],{"class":202,"line":1306},71,[200,1308,207],{"class":206},[200,1310,247],{"class":210},[200,1312,1246],{"class":210},[200,1314,456],{"class":210},[200,1316,1257],{"class":210},[200,1318,1260],{"class":217},[200,1320,1263],{"class":210},[189,1322,1325],{"className":191,"code":1323,"filename":1324,"language":194,"meta":195,"style":195},"# Homebrew 默认开启匿名遥测（上报安装\u002F搜索统计给官方维护团队）\n$ brew analytics state               # 查看遥测状态\n$ brew analytics off                 # 关闭遥测\n$ brew analytics on                  # 重新开启\n","brew 遥测",[197,1326,1327,1332,1347,1361],{"__ignoreMap":195},[200,1328,1329],{"class":202,"line":203},[200,1330,1331],{"class":238},"# Homebrew 默认开启匿名遥测（上报安装\u002F搜索统计给官方维护团队）\n",[200,1333,1334,1336,1338,1341,1344],{"class":202,"line":242},[200,1335,207],{"class":206},[200,1337,247],{"class":210},[200,1339,1340],{"class":210}," analytics",[200,1342,1343],{"class":210}," state",[200,1345,1346],{"class":238},"               # 查看遥测状态\n",[200,1348,1349,1351,1353,1355,1358],{"class":202,"line":256},[200,1350,207],{"class":206},[200,1352,247],{"class":210},[200,1354,1340],{"class":210},[200,1356,1357],{"class":210}," off",[200,1359,1360],{"class":238},"                 # 关闭遥测\n",[200,1362,1363,1365,1367,1369,1372],{"class":202,"line":269},[200,1364,207],{"class":206},[200,1366,247],{"class":210},[200,1368,1340],{"class":210},[200,1370,1371],{"class":210}," on",[200,1373,1374],{"class":238},"                  # 重新开启\n",[189,1376,1378],{"className":191,"code":1377,"language":194,"meta":195,"style":195},"# 在 ~\u002F.zshrc 中追加：\nexport HOMEBREW_NO_AUTO_UPDATE=1    # 关闭自动更新\nexport HOMEBREW_NO_ENV_HINTS=1      # 去掉自动更新时的提示刷屏\n",[197,1379,1380,1385,1404],{"__ignoreMap":195},[200,1381,1382],{"class":202,"line":203},[200,1383,1384],{"class":238},"# 在 ~\u002F.zshrc 中追加：\n",[200,1386,1387,1391,1394,1397,1401],{"class":202,"line":242},[200,1388,1390],{"class":1389},"spNyl","export",[200,1392,1393],{"class":332}," HOMEBREW_NO_AUTO_UPDATE",[200,1395,1396],{"class":217},"=",[200,1398,1400],{"class":1399},"sbssI","1",[200,1402,1403],{"class":238},"    # 关闭自动更新\n",[200,1405,1406,1408,1411,1413,1415],{"class":202,"line":256},[200,1407,1390],{"class":1389},[200,1409,1410],{"class":332}," HOMEBREW_NO_ENV_HINTS",[200,1412,1396],{"class":217},[200,1414,1400],{"class":1399},[200,1416,1417],{"class":238},"      # 去掉自动更新时的提示刷屏\n",[189,1419,1422],{"className":191,"code":1420,"filename":1421,"language":194,"meta":195,"style":195},"# Brew services list 报错可尝试\n$ brew untap homebrew\u002Fservices        # 删除当前的 services\n$ brew tap homebrew\u002Fservices          # 重新安装\n","Brew services 问题",[197,1423,1424,1429,1443],{"__ignoreMap":195},[200,1425,1426],{"class":202,"line":203},[200,1427,1428],{"class":238},"# Brew services list 报错可尝试\n",[200,1430,1431,1433,1435,1437,1440],{"class":202,"line":242},[200,1432,207],{"class":206},[200,1434,247],{"class":210},[200,1436,892],{"class":210},[200,1438,1439],{"class":210}," homebrew\u002Fservices",[200,1441,1442],{"class":238},"        # 删除当前的 services\n",[200,1444,1445,1447,1449,1451,1453],{"class":202,"line":256},[200,1446,207],{"class":206},[200,1448,247],{"class":210},[200,1450,857],{"class":210},[200,1452,1439],{"class":210},[200,1454,1455],{"class":238},"          # 重新安装\n",[179,1457,1459],{"id":1458},"scoop","Scoop",[184,1461,1463],{"to":1462},"https:\u002F\u002Fscoop.sh\u002F","Windows 下的命令行软件包安装程序，无需管理员权限即可安装软件。",[189,1465,1467],{"className":191,"code":1466,"filename":193,"language":194,"meta":195,"style":195},"env:SCOOP='D:\\SoftwareApps\\Scoop'\n[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')\n\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\nInvoke-RestMethod -Uri https:\u002F\u002Fget.scoop.sh | Invoke-Expression\n",[197,1468,1469,1479,1517,1521,1538],{"__ignoreMap":195},[200,1470,1471,1474,1476],{"class":202,"line":203},[200,1472,1473],{"class":206},"env:SCOOP",[200,1475,1396],{"class":210},[200,1477,1478],{"class":206},"'D:\\SoftwareApps\\Scoop'\n",[200,1480,1481,1484,1487,1490,1493,1496,1499,1502,1505,1508,1511,1514],{"class":202,"line":242},[200,1482,1483],{"class":217},"[",[200,1485,1486],{"class":332},"Environment",[200,1488,1489],{"class":217},"]",[200,1491,1492],{"class":332},"::SetEnvironmentVariable(",[200,1494,1495],{"class":206},"'SCOOP'",[200,1497,1498],{"class":206},",",[200,1500,1501],{"class":332}," $env",[200,1503,1504],{"class":210},":SCOOP,",[200,1506,1507],{"class":217}," '",[200,1509,1510],{"class":210},"User",[200,1512,1513],{"class":217},"'",[200,1515,1516],{"class":332},")\n",[200,1518,1519],{"class":202,"line":256},[200,1520,366],{"emptyLinePlaceholder":365},[200,1522,1523,1526,1529,1532,1535],{"class":202,"line":269},[200,1524,1525],{"class":206},"Set-ExecutionPolicy",[200,1527,1528],{"class":210}," -ExecutionPolicy",[200,1530,1531],{"class":210}," RemoteSigned",[200,1533,1534],{"class":210}," -Scope",[200,1536,1537],{"class":210}," CurrentUser\n",[200,1539,1540,1543,1546,1549,1552],{"class":202,"line":282},[200,1541,1542],{"class":206},"Invoke-RestMethod",[200,1544,1545],{"class":210}," -Uri",[200,1547,1548],{"class":210}," https:\u002F\u002Fget.scoop.sh",[200,1550,1551],{"class":217}," |",[200,1553,1554],{"class":206}," Invoke-Expression\n",[189,1556,1558],{"className":191,"code":1557,"filename":231,"language":194,"meta":195,"style":195},"$ scoop --version                       # 查看版本\n$ scoop help                            # 列出所有可用命令\n$ scoop config                          # 查看 Scoop 的配置\n$ scoop search \u003Cquery>                  # 在可用的 Bucket 中搜索应用程序\n$ scoop list                            # 列出所有已安装的软件\n$ scoop info \u003Capp>                      # 显示软件包信息\n$ scoop home \u003Capp>                      # 打开软件包主页\n$ scoop install \u003Capp>                   # 安装软件\n$ scoop install -g \u003Capp>                # 全局安装(管理员权限)\n$ scoop uninstall \u003Capp>                 # 卸载软件\n\n$ scoop update                          # 更新 Scoop 自身\n$ scoop update --all                    # 更新所有应用\n$ scoop update \u003Capp>                    # 更新指定应用\n$ scoop status                          # 检查可更新的应用\n$ scoop hold \u003Capp>                      # 禁止更新指定应用\n$ scoop unhold \u003Capp>                    # 解除禁止更新指定应用\n\n$ scoop cache show                      # 显示缓存\n$ scoop cache rm \u003Capp>                  # 删除指定应用缓存\n$ scoop cleanup \u003Capp>                   # 清理旧版本\n\n# Bucket 是应用清单仓库，用来扩展可安装的软件。\n$ scoop bucket list                     # 列出已添加的所有 Bucket\n$ scoop bucket known                    # 列出所有官方认可的 Bucket\n$ scoop bucket add \u003Cbucket>             # 添加 Bucket\n$ scoop bucket rm \u003Cbucket>              # 删除 Bucket\n\n$ scoop export > ~\u002FDesktop\u002Fscoop_backup.json   # 导出已安装 Scoop 应用\n$ scoop import ~\u002FDesktop\u002Fscoop_backup.json     # 从备份文件恢复所有应用\n\n$ scoop alias list\n$ scoop alias add \u003Cname> \u003Ccommand>      # scoop alias add ls 'scoop list'\n$ scoop alias rm \u003Cname>\n$ scoop alias show \u003Cname>\n",[197,1559,1560,1572,1583,1594,1615,1626,1647,1666,1685,1707,1726,1730,1741,1755,1774,1786,1806,1826,1830,1845,1867,1886,1890,1895,1909,1923,1947,1968,1972,1990,2004,2008,2020,2053,2072],{"__ignoreMap":195},[200,1561,1562,1564,1567,1569],{"class":202,"line":203},[200,1563,207],{"class":206},[200,1565,1566],{"class":210}," scoop",[200,1568,250],{"class":210},[200,1570,1571],{"class":238},"                       # 查看版本\n",[200,1573,1574,1576,1578,1580],{"class":202,"line":242},[200,1575,207],{"class":206},[200,1577,1566],{"class":210},[200,1579,263],{"class":210},[200,1581,1582],{"class":238},"                            # 列出所有可用命令\n",[200,1584,1585,1587,1589,1591],{"class":202,"line":256},[200,1586,207],{"class":206},[200,1588,1566],{"class":210},[200,1590,276],{"class":210},[200,1592,1593],{"class":238},"                          # 查看 Scoop 的配置\n",[200,1595,1596,1598,1600,1602,1604,1607,1610,1612],{"class":202,"line":269},[200,1597,207],{"class":206},[200,1599,1566],{"class":210},[200,1601,382],{"class":210},[200,1603,320],{"class":217},[200,1605,1606],{"class":210},"quer",[200,1608,1609],{"class":332},"y",[200,1611,467],{"class":217},[200,1613,1614],{"class":238},"                  # 在可用的 Bucket 中搜索应用程序\n",[200,1616,1617,1619,1621,1623],{"class":202,"line":282},[200,1618,207],{"class":206},[200,1620,1566],{"class":210},[200,1622,553],{"class":210},[200,1624,1625],{"class":238},"                            # 列出所有已安装的软件\n",[200,1627,1628,1630,1632,1634,1636,1639,1642,1644],{"class":202,"line":295},[200,1629,207],{"class":206},[200,1631,1566],{"class":210},[200,1633,317],{"class":210},[200,1635,320],{"class":217},[200,1637,1638],{"class":210},"ap",[200,1640,1641],{"class":332},"p",[200,1643,467],{"class":217},[200,1645,1646],{"class":238},"                      # 显示软件包信息\n",[200,1648,1649,1651,1653,1655,1657,1659,1661,1663],{"class":202,"line":310},[200,1650,207],{"class":206},[200,1652,1566],{"class":210},[200,1654,346],{"class":210},[200,1656,320],{"class":217},[200,1658,1638],{"class":210},[200,1660,1641],{"class":332},[200,1662,467],{"class":217},[200,1664,1665],{"class":238},"                      # 打开软件包主页\n",[200,1667,1668,1670,1672,1674,1676,1678,1680,1682],{"class":202,"line":339},[200,1669,207],{"class":206},[200,1671,1566],{"class":210},[200,1673,456],{"class":210},[200,1675,320],{"class":217},[200,1677,1638],{"class":210},[200,1679,1641],{"class":332},[200,1681,467],{"class":217},[200,1683,1684],{"class":238},"                   # 安装软件\n",[200,1686,1687,1689,1691,1693,1696,1698,1700,1702,1704],{"class":202,"line":362},[200,1688,207],{"class":206},[200,1690,1566],{"class":210},[200,1692,456],{"class":210},[200,1694,1695],{"class":210}," -g",[200,1697,320],{"class":217},[200,1699,1638],{"class":210},[200,1701,1641],{"class":332},[200,1703,467],{"class":217},[200,1705,1706],{"class":238},"                # 全局安装(管理员权限)\n",[200,1708,1709,1711,1713,1715,1717,1719,1721,1723],{"class":202,"line":369},[200,1710,207],{"class":206},[200,1712,1566],{"class":210},[200,1714,505],{"class":210},[200,1716,320],{"class":217},[200,1718,1638],{"class":210},[200,1720,1641],{"class":332},[200,1722,467],{"class":217},[200,1724,1725],{"class":238},"                 # 卸载软件\n",[200,1727,1728],{"class":202,"line":375},[200,1729,366],{"emptyLinePlaceholder":365},[200,1731,1732,1734,1736,1738],{"class":202,"line":399},[200,1733,207],{"class":206},[200,1735,1566],{"class":210},[200,1737,632],{"class":210},[200,1739,1740],{"class":238},"                          # 更新 Scoop 自身\n",[200,1742,1743,1745,1747,1749,1752],{"class":202,"line":423},[200,1744,207],{"class":206},[200,1746,1566],{"class":210},[200,1748,632],{"class":210},[200,1750,1751],{"class":210}," --all",[200,1753,1754],{"class":238},"                    # 更新所有应用\n",[200,1756,1757,1759,1761,1763,1765,1767,1769,1771],{"class":202,"line":449},[200,1758,207],{"class":206},[200,1760,1566],{"class":210},[200,1762,632],{"class":210},[200,1764,320],{"class":217},[200,1766,1638],{"class":210},[200,1768,1641],{"class":332},[200,1770,467],{"class":217},[200,1772,1773],{"class":238},"                    # 更新指定应用\n",[200,1775,1776,1778,1780,1783],{"class":202,"line":473},[200,1777,207],{"class":206},[200,1779,1566],{"class":210},[200,1781,1782],{"class":210}," status",[200,1784,1785],{"class":238},"                          # 检查可更新的应用\n",[200,1787,1788,1790,1792,1795,1797,1799,1801,1803],{"class":202,"line":498},[200,1789,207],{"class":206},[200,1791,1566],{"class":210},[200,1793,1794],{"class":210}," hold",[200,1796,320],{"class":217},[200,1798,1638],{"class":210},[200,1800,1641],{"class":332},[200,1802,467],{"class":217},[200,1804,1805],{"class":238},"                      # 禁止更新指定应用\n",[200,1807,1808,1810,1812,1815,1817,1819,1821,1823],{"class":202,"line":522},[200,1809,207],{"class":206},[200,1811,1566],{"class":210},[200,1813,1814],{"class":210}," unhold",[200,1816,320],{"class":217},[200,1818,1638],{"class":210},[200,1820,1641],{"class":332},[200,1822,467],{"class":217},[200,1824,1825],{"class":238},"                    # 解除禁止更新指定应用\n",[200,1827,1828],{"class":202,"line":527},[200,1829,366],{"emptyLinePlaceholder":365},[200,1831,1832,1834,1836,1839,1842],{"class":202,"line":533},[200,1833,207],{"class":206},[200,1835,1566],{"class":210},[200,1837,1838],{"class":210}," cache",[200,1840,1841],{"class":210}," show",[200,1843,1844],{"class":238},"                      # 显示缓存\n",[200,1846,1847,1849,1851,1853,1856,1858,1860,1862,1864],{"class":202,"line":546},[200,1848,207],{"class":206},[200,1850,1566],{"class":210},[200,1852,1838],{"class":210},[200,1854,1855],{"class":210}," rm",[200,1857,320],{"class":217},[200,1859,1638],{"class":210},[200,1861,1641],{"class":332},[200,1863,467],{"class":217},[200,1865,1866],{"class":238},"                  # 删除指定应用缓存\n",[200,1868,1869,1871,1873,1875,1877,1879,1881,1883],{"class":202,"line":569},[200,1870,207],{"class":206},[200,1872,1566],{"class":210},[200,1874,760],{"class":210},[200,1876,320],{"class":217},[200,1878,1638],{"class":210},[200,1880,1641],{"class":332},[200,1882,467],{"class":217},[200,1884,1885],{"class":238},"                   # 清理旧版本\n",[200,1887,1888],{"class":202,"line":590},[200,1889,366],{"emptyLinePlaceholder":365},[200,1891,1892],{"class":202,"line":614},[200,1893,1894],{"class":238},"# Bucket 是应用清单仓库，用来扩展可安装的软件。\n",[200,1896,1897,1899,1901,1904,1906],{"class":202,"line":619},[200,1898,207],{"class":206},[200,1900,1566],{"class":210},[200,1902,1903],{"class":210}," bucket",[200,1905,553],{"class":210},[200,1907,1908],{"class":238},"                     # 列出已添加的所有 Bucket\n",[200,1910,1911,1913,1915,1917,1920],{"class":202,"line":625},[200,1912,207],{"class":206},[200,1914,1566],{"class":210},[200,1916,1903],{"class":210},[200,1918,1919],{"class":210}," known",[200,1921,1922],{"class":238},"                    # 列出所有官方认可的 Bucket\n",[200,1924,1925,1927,1929,1931,1934,1936,1939,1942,1944],{"class":202,"line":638},[200,1926,207],{"class":206},[200,1928,1566],{"class":210},[200,1930,1903],{"class":210},[200,1932,1933],{"class":210}," add",[200,1935,320],{"class":217},[200,1937,1938],{"class":210},"bucke",[200,1940,1941],{"class":332},"t",[200,1943,467],{"class":217},[200,1945,1946],{"class":238},"             # 添加 Bucket\n",[200,1948,1949,1951,1953,1955,1957,1959,1961,1963,1965],{"class":202,"line":651},[200,1950,207],{"class":206},[200,1952,1566],{"class":210},[200,1954,1903],{"class":210},[200,1956,1855],{"class":210},[200,1958,320],{"class":217},[200,1960,1938],{"class":210},[200,1962,1941],{"class":332},[200,1964,467],{"class":217},[200,1966,1967],{"class":238},"              # 删除 Bucket\n",[200,1969,1970],{"class":202,"line":664},[200,1971,366],{"emptyLinePlaceholder":365},[200,1973,1974,1976,1978,1981,1984,1987],{"class":202,"line":677},[200,1975,207],{"class":206},[200,1977,1566],{"class":210},[200,1979,1980],{"class":210}," export",[200,1982,1983],{"class":217}," >",[200,1985,1986],{"class":210}," ~\u002FDesktop\u002Fscoop_backup.json",[200,1988,1989],{"class":238},"   # 导出已安装 Scoop 应用\n",[200,1991,1992,1994,1996,1999,2001],{"class":202,"line":700},[200,1993,207],{"class":206},[200,1995,1566],{"class":210},[200,1997,1998],{"class":210}," import",[200,2000,1986],{"class":210},[200,2002,2003],{"class":238},"     # 从备份文件恢复所有应用\n",[200,2005,2006],{"class":202,"line":721},[200,2007,366],{"emptyLinePlaceholder":365},[200,2009,2010,2012,2014,2017],{"class":202,"line":742},[200,2011,207],{"class":206},[200,2013,1566],{"class":210},[200,2015,2016],{"class":210}," alias",[200,2018,2019],{"class":210}," list\n",[200,2021,2022,2024,2026,2028,2030,2032,2035,2038,2040,2042,2045,2048,2050],{"class":202,"line":747},[200,2023,207],{"class":206},[200,2025,1566],{"class":210},[200,2027,2016],{"class":210},[200,2029,1933],{"class":210},[200,2031,320],{"class":217},[200,2033,2034],{"class":210},"nam",[200,2036,2037],{"class":332},"e",[200,2039,467],{"class":217},[200,2041,320],{"class":217},[200,2043,2044],{"class":210},"comman",[200,2046,2047],{"class":332},"d",[200,2049,467],{"class":217},[200,2051,2052],{"class":238},"      # scoop alias add ls 'scoop list'\n",[200,2054,2055,2057,2059,2061,2063,2065,2067,2069],{"class":202,"line":753},[200,2056,207],{"class":206},[200,2058,1566],{"class":210},[200,2060,2016],{"class":210},[200,2062,1855],{"class":210},[200,2064,320],{"class":217},[200,2066,2034],{"class":210},[200,2068,2037],{"class":332},[200,2070,2071],{"class":217},">\n",[200,2073,2074,2076,2078,2080,2082,2084,2086,2088],{"class":202,"line":769},[200,2075,207],{"class":206},[200,2077,1566],{"class":210},[200,2079,2016],{"class":210},[200,2081,1841],{"class":210},[200,2083,320],{"class":217},[200,2085,2034],{"class":210},[200,2087,2037],{"class":332},[200,2089,2071],{"class":217},[189,2091,2094],{"className":191,"code":2092,"filename":2093,"language":194,"meta":195,"style":195},"$ scoop install winsw                   # 可执行包装程序，起 windows 服务\n$ scoop install tabby                   # SSH 和 Telnet 连接终端\n\n# 安装字体\n$ scoop bucket add nerd-fonts\n$ scoop install LXGWWenKaiMono\n$ scoop install FiraCode-NF\n$ scoop install FiraCode-NF-Mono\n$ scoop install Monaspace-NF\n$ scoop install Monaspace-NF-Mono\n$ scoop install Maple-Mono-NF-CN\n","其它工具下载",[197,2095,2096,2110,2124,2128,2133,2146,2157,2168,2179,2190,2201],{"__ignoreMap":195},[200,2097,2098,2100,2102,2104,2107],{"class":202,"line":203},[200,2099,207],{"class":206},[200,2101,1566],{"class":210},[200,2103,456],{"class":210},[200,2105,2106],{"class":210}," winsw",[200,2108,2109],{"class":238},"                   # 可执行包装程序，起 windows 服务\n",[200,2111,2112,2114,2116,2118,2121],{"class":202,"line":242},[200,2113,207],{"class":206},[200,2115,1566],{"class":210},[200,2117,456],{"class":210},[200,2119,2120],{"class":210}," tabby",[200,2122,2123],{"class":238},"                   # SSH 和 Telnet 连接终端\n",[200,2125,2126],{"class":202,"line":256},[200,2127,366],{"emptyLinePlaceholder":365},[200,2129,2130],{"class":202,"line":269},[200,2131,2132],{"class":238},"# 安装字体\n",[200,2134,2135,2137,2139,2141,2143],{"class":202,"line":282},[200,2136,207],{"class":206},[200,2138,1566],{"class":210},[200,2140,1903],{"class":210},[200,2142,1933],{"class":210},[200,2144,2145],{"class":210}," nerd-fonts\n",[200,2147,2148,2150,2152,2154],{"class":202,"line":295},[200,2149,207],{"class":206},[200,2151,1566],{"class":210},[200,2153,456],{"class":210},[200,2155,2156],{"class":210}," LXGWWenKaiMono\n",[200,2158,2159,2161,2163,2165],{"class":202,"line":310},[200,2160,207],{"class":206},[200,2162,1566],{"class":210},[200,2164,456],{"class":210},[200,2166,2167],{"class":210}," FiraCode-NF\n",[200,2169,2170,2172,2174,2176],{"class":202,"line":339},[200,2171,207],{"class":206},[200,2173,1566],{"class":210},[200,2175,456],{"class":210},[200,2177,2178],{"class":210}," FiraCode-NF-Mono\n",[200,2180,2181,2183,2185,2187],{"class":202,"line":362},[200,2182,207],{"class":206},[200,2184,1566],{"class":210},[200,2186,456],{"class":210},[200,2188,2189],{"class":210}," Monaspace-NF\n",[200,2191,2192,2194,2196,2198],{"class":202,"line":369},[200,2193,207],{"class":206},[200,2195,1566],{"class":210},[200,2197,456],{"class":210},[200,2199,2200],{"class":210}," Monaspace-NF-Mono\n",[200,2202,2203,2205,2207,2209],{"class":202,"line":375},[200,2204,207],{"class":206},[200,2206,1566],{"class":210},[200,2208,456],{"class":210},[200,2210,2211],{"class":210}," Maple-Mono-NF-CN\n",[179,2213,2215],{"id":2214},"mise","Mise",[184,2217,2219],{"to":2218},"https:\u002F\u002Fmise.jdx.dev\u002F","集成的开发工具与运行时版本管理器，替代 asdf、pyenv、nvm 等。",[2221,2222,2224,2380],"tabs",{"sync":2223},"os",[2225,2226,2228,2244],"tabs-item",{"label":2227},"Windows",[189,2229,2231],{"className":191,"code":2230,"language":194,"meta":195,"style":195},"$ scoop install mise\n",[197,2232,2233],{"__ignoreMap":195},[200,2234,2235,2237,2239,2241],{"class":202,"line":203},[200,2236,207],{"class":206},[200,2238,1566],{"class":210},[200,2240,456],{"class":210},[200,2242,2243],{"class":210}," mise\n",[189,2245,2248],{"className":191,"code":2246,"filename":2247,"language":194,"meta":195,"style":195},"# mise — shims only; 'mise activate zsh' fails under MSYS\n(( $+commands[mise] )) && {\n    mise reshim >\u002Fdev\u002Fnull 2>&1\n    _ms=\"$(cygpath -u \"$LOCALAPPDATA\u002Fmise\u002Fshims\" 2>\u002Fdev\u002Fnull)\"\n    [[ -n \"$_ms\" && -d \"$_ms\" ]] && path=(\"$_ms\" $path)\n}\n","zsh 配置",[197,2249,2250,2255,2278,2294,2328,2375],{"__ignoreMap":195},[200,2251,2252],{"class":202,"line":203},[200,2253,2254],{"class":238},"# mise — shims only; 'mise activate zsh' fails under MSYS\n",[200,2256,2257,2260,2263,2266,2269,2272,2275],{"class":202,"line":242},[200,2258,2259],{"class":217},"((",[200,2261,2262],{"class":332}," $",[200,2264,2265],{"class":217},"+",[200,2267,2268],{"class":332},"commands[mise] ",[200,2270,2271],{"class":217},"))",[200,2273,2274],{"class":217}," &&",[200,2276,2277],{"class":217}," {\n",[200,2279,2280,2283,2286,2288,2291],{"class":202,"line":256},[200,2281,2282],{"class":206},"    mise",[200,2284,2285],{"class":210}," reshim",[200,2287,1983],{"class":217},[200,2289,2290],{"class":210},"\u002Fdev\u002Fnull",[200,2292,2293],{"class":217}," 2>&1\n",[200,2295,2296,2299,2301,2304,2307,2310,2313,2316,2319,2321,2324,2326],{"class":202,"line":269},[200,2297,2298],{"class":332},"    _ms",[200,2300,1396],{"class":217},[200,2302,2303],{"class":217},"\"$(",[200,2305,2306],{"class":206},"cygpath",[200,2308,2309],{"class":210}," -u ",[200,2311,2312],{"class":217},"\"",[200,2314,2315],{"class":332},"$LOCALAPPDATA",[200,2317,2318],{"class":210},"\u002Fmise\u002Fshims",[200,2320,2312],{"class":217},[200,2322,2323],{"class":217}," 2>",[200,2325,2290],{"class":210},[200,2327,227],{"class":217},[200,2329,2330,2333,2335,2338,2341,2343,2345,2347,2349,2351,2353,2356,2358,2361,2364,2366,2368,2370,2373],{"class":202,"line":282},[200,2331,2332],{"class":217},"    [[",[200,2334,763],{"class":217},[200,2336,2337],{"class":217}," \"",[200,2339,2340],{"class":332},"$_ms",[200,2342,2312],{"class":217},[200,2344,2274],{"class":217},[200,2346,1125],{"class":217},[200,2348,2337],{"class":217},[200,2350,2340],{"class":332},[200,2352,2312],{"class":217},[200,2354,2355],{"class":217}," ]]",[200,2357,2274],{"class":217},[200,2359,2360],{"class":332}," path",[200,2362,2363],{"class":217},"=(",[200,2365,2312],{"class":217},[200,2367,2340],{"class":332},[200,2369,2312],{"class":217},[200,2371,2372],{"class":332}," $path",[200,2374,1516],{"class":217},[200,2376,2377],{"class":202,"line":295},[200,2378,2379],{"class":217},"}\n",[2225,2381,2383,2398],{"label":2382},"MacOS",[189,2384,2386],{"className":191,"code":2385,"language":194,"meta":195,"style":195},"$ brew install mise\n",[197,2387,2388],{"__ignoreMap":195},[200,2389,2390,2392,2394,2396],{"class":202,"line":203},[200,2391,207],{"class":206},[200,2393,247],{"class":210},[200,2395,456],{"class":210},[200,2397,2243],{"class":210},[189,2399,2401],{"className":191,"code":2400,"filename":2247,"language":194,"meta":195,"style":195},"# mise\nif (( $+commands[mise] )); then\n    eval \"$(mise activate zsh)\"\nfi\n",[197,2402,2403,2408,2429,2444],{"__ignoreMap":195},[200,2404,2405],{"class":202,"line":203},[200,2406,2407],{"class":238},"# mise\n",[200,2409,2410,2414,2417,2419,2421,2423,2426],{"class":202,"line":242},[200,2411,2413],{"class":2412},"s7zQu","if",[200,2415,2416],{"class":217}," ((",[200,2418,2262],{"class":332},[200,2420,2265],{"class":217},[200,2422,2268],{"class":332},[200,2424,2425],{"class":217},"));",[200,2427,2428],{"class":2412}," then\n",[200,2430,2431,2435,2437,2439,2442],{"class":202,"line":256},[200,2432,2434],{"class":2433},"s2Zo4","    eval",[200,2436,218],{"class":217},[200,2438,2214],{"class":206},[200,2440,2441],{"class":210}," activate zsh",[200,2443,227],{"class":217},[200,2445,2446],{"class":202,"line":269},[200,2447,2448],{"class":2412},"fi\n",[189,2450,2452],{"className":191,"code":2451,"filename":231,"language":194,"meta":195,"style":195},"# 查看\n$ mise --version                        # 查看版本\n$ mise help                             # 列出所有可用命令\n$ mise doctor                           # 检查安装和环境问题\n\n# 版本\n$ mise which java                       # 当前生效的二进制路径\n$ mise ls                               # 列出已安装的工具与版本\n$ mise ls --current                     # 当前配置要求的版本\n$ mise ls --missing                     # 配置里有、还没安装的\n$ mise ls-remote java                   # 查看可安装的远程版本\n\n# 配置\n$ mise config ls                        # 当前读了哪些配置文件\n$ mise trust                            # 信任当前目录的配置（克隆后，带任务的 mise.toml 需要）\n\n# 安装与切换\n$ mise install                          # 安装 mise.toml 中声明的所有工具\n$ mise use -g java@zulu-8.96.0.205      # 全局使用该版本\n$ mise use java@zulu-17.68.203.0        # 当前目录使用该版本（写入 mise.toml）\n$ mise use --pin java@zulu-17.68.203.0  # 写入精确版本\n$ mise use --remove java                # 从配置里去掉，不卸载已安装的版本\n$ mise uninstall java@zulu-8.96.0.205   # 卸载指定版本\n\n# 更新与清理\n$ mise outdated                         # 查看有新版本的工具\n$ mise upgrade                          # 在配置的版本范围内升级\n$ mise upgrade --bump                   # 升级到最新版，并改写配置里的版本号\n$ mise prune -n                         # 预览可清理的旧版本\n$ mise prune                            # 删除没人用的旧版本\n\n# 执行\n$ mise x java --version                 # 用指定环境执行命令\n$ mise run                              # 运行任务\n\n# 自身\n$ mise self-update                      # 更新 mise 自身\n",[197,2453,2454,2459,2470,2481,2492,2496,2501,2516,2528,2542,2556,2570,2574,2579,2592,2603,2607,2612,2623,2640,2654,2670,2686,2699,2703,2708,2719,2730,2744,2758,2769,2773,2778,2794,2806,2810,2815],{"__ignoreMap":195},[200,2455,2456],{"class":202,"line":203},[200,2457,2458],{"class":238},"# 查看\n",[200,2460,2461,2463,2466,2468],{"class":202,"line":242},[200,2462,207],{"class":206},[200,2464,2465],{"class":210}," mise",[200,2467,250],{"class":210},[200,2469,253],{"class":238},[200,2471,2472,2474,2476,2478],{"class":202,"line":256},[200,2473,207],{"class":206},[200,2475,2465],{"class":210},[200,2477,263],{"class":210},[200,2479,2480],{"class":238},"                             # 列出所有可用命令\n",[200,2482,2483,2485,2487,2489],{"class":202,"line":269},[200,2484,207],{"class":206},[200,2486,2465],{"class":210},[200,2488,289],{"class":210},[200,2490,2491],{"class":238},"                           # 检查安装和环境问题\n",[200,2493,2494],{"class":202,"line":282},[200,2495,366],{"emptyLinePlaceholder":365},[200,2497,2498],{"class":202,"line":295},[200,2499,2500],{"class":238},"# 版本\n",[200,2502,2503,2505,2507,2510,2513],{"class":202,"line":310},[200,2504,207],{"class":206},[200,2506,2465],{"class":210},[200,2508,2509],{"class":210}," which",[200,2511,2512],{"class":210}," java",[200,2514,2515],{"class":238},"                       # 当前生效的二进制路径\n",[200,2517,2518,2520,2522,2525],{"class":202,"line":339},[200,2519,207],{"class":206},[200,2521,2465],{"class":210},[200,2523,2524],{"class":210}," ls",[200,2526,2527],{"class":238},"                               # 列出已安装的工具与版本\n",[200,2529,2530,2532,2534,2536,2539],{"class":202,"line":362},[200,2531,207],{"class":206},[200,2533,2465],{"class":210},[200,2535,2524],{"class":210},[200,2537,2538],{"class":210}," --current",[200,2540,2541],{"class":238},"                     # 当前配置要求的版本\n",[200,2543,2544,2546,2548,2550,2553],{"class":202,"line":369},[200,2545,207],{"class":206},[200,2547,2465],{"class":210},[200,2549,2524],{"class":210},[200,2551,2552],{"class":210}," --missing",[200,2554,2555],{"class":238},"                     # 配置里有、还没安装的\n",[200,2557,2558,2560,2562,2565,2567],{"class":202,"line":375},[200,2559,207],{"class":206},[200,2561,2465],{"class":210},[200,2563,2564],{"class":210}," ls-remote",[200,2566,2512],{"class":210},[200,2568,2569],{"class":238},"                   # 查看可安装的远程版本\n",[200,2571,2572],{"class":202,"line":399},[200,2573,366],{"emptyLinePlaceholder":365},[200,2575,2576],{"class":202,"line":423},[200,2577,2578],{"class":238},"# 配置\n",[200,2580,2581,2583,2585,2587,2589],{"class":202,"line":449},[200,2582,207],{"class":206},[200,2584,2465],{"class":210},[200,2586,276],{"class":210},[200,2588,2524],{"class":210},[200,2590,2591],{"class":238},"                        # 当前读了哪些配置文件\n",[200,2593,2594,2596,2598,2600],{"class":202,"line":473},[200,2595,207],{"class":206},[200,2597,2465],{"class":210},[200,2599,939],{"class":210},[200,2601,2602],{"class":238},"                            # 信任当前目录的配置（克隆后，带任务的 mise.toml 需要）\n",[200,2604,2605],{"class":202,"line":498},[200,2606,366],{"emptyLinePlaceholder":365},[200,2608,2609],{"class":202,"line":522},[200,2610,2611],{"class":238},"# 安装与切换\n",[200,2613,2614,2616,2618,2620],{"class":202,"line":527},[200,2615,207],{"class":206},[200,2617,2465],{"class":210},[200,2619,456],{"class":210},[200,2621,2622],{"class":238},"                          # 安装 mise.toml 中声明的所有工具\n",[200,2624,2625,2627,2629,2632,2634,2637],{"class":202,"line":533},[200,2626,207],{"class":206},[200,2628,2465],{"class":210},[200,2630,2631],{"class":210}," use",[200,2633,1695],{"class":210},[200,2635,2636],{"class":210}," java@zulu-8.96.0.205",[200,2638,2639],{"class":238},"      # 全局使用该版本\n",[200,2641,2642,2644,2646,2648,2651],{"class":202,"line":546},[200,2643,207],{"class":206},[200,2645,2465],{"class":210},[200,2647,2631],{"class":210},[200,2649,2650],{"class":210}," java@zulu-17.68.203.0",[200,2652,2653],{"class":238},"        # 当前目录使用该版本（写入 mise.toml）\n",[200,2655,2656,2658,2660,2662,2665,2667],{"class":202,"line":569},[200,2657,207],{"class":206},[200,2659,2465],{"class":210},[200,2661,2631],{"class":210},[200,2663,2664],{"class":210}," --pin",[200,2666,2650],{"class":210},[200,2668,2669],{"class":238},"  # 写入精确版本\n",[200,2671,2672,2674,2676,2678,2681,2683],{"class":202,"line":590},[200,2673,207],{"class":206},[200,2675,2465],{"class":210},[200,2677,2631],{"class":210},[200,2679,2680],{"class":210}," --remove",[200,2682,2512],{"class":210},[200,2684,2685],{"class":238},"                # 从配置里去掉，不卸载已安装的版本\n",[200,2687,2688,2690,2692,2694,2696],{"class":202,"line":614},[200,2689,207],{"class":206},[200,2691,2465],{"class":210},[200,2693,505],{"class":210},[200,2695,2636],{"class":210},[200,2697,2698],{"class":238},"   # 卸载指定版本\n",[200,2700,2701],{"class":202,"line":619},[200,2702,366],{"emptyLinePlaceholder":365},[200,2704,2705],{"class":202,"line":625},[200,2706,2707],{"class":238},"# 更新与清理\n",[200,2709,2710,2712,2714,2716],{"class":202,"line":638},[200,2711,207],{"class":206},[200,2713,2465],{"class":210},[200,2715,658],{"class":210},[200,2717,2718],{"class":238},"                         # 查看有新版本的工具\n",[200,2720,2721,2723,2725,2727],{"class":202,"line":651},[200,2722,207],{"class":206},[200,2724,2465],{"class":210},[200,2726,671],{"class":210},[200,2728,2729],{"class":238},"                          # 在配置的版本范围内升级\n",[200,2731,2732,2734,2736,2738,2741],{"class":202,"line":664},[200,2733,207],{"class":206},[200,2735,2465],{"class":210},[200,2737,671],{"class":210},[200,2739,2740],{"class":210}," --bump",[200,2742,2743],{"class":238},"                   # 升级到最新版，并改写配置里的版本号\n",[200,2745,2746,2748,2750,2753,2755],{"class":202,"line":677},[200,2747,207],{"class":206},[200,2749,2465],{"class":210},[200,2751,2752],{"class":210}," prune",[200,2754,763],{"class":210},[200,2756,2757],{"class":238},"                         # 预览可清理的旧版本\n",[200,2759,2760,2762,2764,2766],{"class":202,"line":700},[200,2761,207],{"class":206},[200,2763,2465],{"class":210},[200,2765,2752],{"class":210},[200,2767,2768],{"class":238},"                            # 删除没人用的旧版本\n",[200,2770,2771],{"class":202,"line":721},[200,2772,366],{"emptyLinePlaceholder":365},[200,2774,2775],{"class":202,"line":742},[200,2776,2777],{"class":238},"# 执行\n",[200,2779,2780,2782,2784,2787,2789,2791],{"class":202,"line":747},[200,2781,207],{"class":206},[200,2783,2465],{"class":210},[200,2785,2786],{"class":210}," x",[200,2788,2512],{"class":210},[200,2790,250],{"class":210},[200,2792,2793],{"class":238},"                 # 用指定环境执行命令\n",[200,2795,2796,2798,2800,2803],{"class":202,"line":753},[200,2797,207],{"class":206},[200,2799,2465],{"class":210},[200,2801,2802],{"class":210}," run",[200,2804,2805],{"class":238},"                              # 运行任务\n",[200,2807,2808],{"class":202,"line":769},[200,2809,366],{"emptyLinePlaceholder":365},[200,2811,2812],{"class":202,"line":781},[200,2813,2814],{"class":238},"# 自身\n",[200,2816,2817,2819,2821,2824],{"class":202,"line":803},[200,2818,207],{"class":206},[200,2820,2465],{"class":210},[200,2822,2823],{"class":210}," self-update",[200,2825,2826],{"class":238},"                      # 更新 mise 自身\n",[179,2828,2830],{"id":2829},"vite","Vite+",[184,2832,2834,2835,2838],{"to":2833},"https:\u002F\u002Fviteplus.dev\u002F","Web 开发的统一工具链，命令是 ",[197,2836,2837],{},"vp","。管理 Node 运行时和依赖，并覆盖 dev、check、test、build。",[2221,2840,2841,2861],{"sync":2223},[2225,2842,2843],{"label":2227},[189,2844,2846],{"className":191,"code":2845,"language":194,"meta":195,"style":195},"irm https:\u002F\u002Fvite.plus\u002Fps1 | iex\n",[197,2847,2848],{"__ignoreMap":195},[200,2849,2850,2853,2856,2858],{"class":202,"line":203},[200,2851,2852],{"class":206},"irm",[200,2854,2855],{"class":210}," https:\u002F\u002Fvite.plus\u002Fps1",[200,2857,1551],{"class":217},[200,2859,2860],{"class":206}," iex\n",[2225,2862,2863],{"label":2382},[189,2864,2866],{"className":191,"code":2865,"language":194,"meta":195,"style":195},"$ curl -fsSL https:\u002F\u002Fvite.plus | bash\n",[197,2867,2868],{"__ignoreMap":195},[200,2869,2870,2872,2875,2878,2881,2883],{"class":202,"line":203},[200,2871,207],{"class":206},[200,2873,2874],{"class":210}," curl",[200,2876,2877],{"class":210}," -fsSL",[200,2879,2880],{"class":210}," https:\u002F\u002Fvite.plus",[200,2882,1551],{"class":217},[200,2884,2885],{"class":206}," bash\n",[189,2887,2889],{"className":191,"code":2888,"filename":231,"language":194,"meta":195,"style":195},"# 查看\n$ vp --version                          # 查看版本\n$ vp help                               # 列出所有可用命令\n\n# 依赖\n$ vp install                            # 按项目的包管理器安装依赖（简写：vp i）\n$ vp install --frozen-lockfile          # 锁文件不一致时失败，适合 CI\n$ vp add \u003Cpkg>                          # 添加到 dependencies\n$ vp add -D \u003Cpkg>                       # 添加到 devDependencies\n$ vp remove \u003Cpkg>                       # 移除依赖（别名：rm \u002F un \u002F uninstall）\n$ vp update                             # 更新依赖（简写：vp up）\n$ vp outdated                           # 查看可更新的包\n$ vp list                               # 列出已安装的包（简写：vp ls）\n$ vp why \u003Cpkg>                          # 为什么装了这个包\n$ vp pm \u003Ccmd>                           # 把命令原样转给底层包管理器\n\n# Node 与包管理器版本\n$ vp env pin lts                        # 为当前项目固定 Node 版本\n$ vp env use 20                         # 当前 shell 使用指定 Node\n$ vp env default node@24                # 设置全局默认 Node\n$ vp env off                            # 改用系统已有的 Node 和包管理器\n$ vp env print                          # 打印 PATH 配置\n$ vp env doctor                         # 检查 Node 和包管理器环境\n\n# 项目\n$ vp create                             # 从模板创建项目\n$ vp migrate                            # 把现有项目迁到 Vite+\n$ vp dev                                # 开发服务器\n$ vp check                              # 格式化、lint、类型检查\n$ vp test                               # 跑测试\n$ vp build                              # 生产构建\n$ vp run \u003Cscript>                       # 跑 package.json 脚本或任务\n$ vp dlx \u003Cpkg>                          # 临时执行包里的命令，不写入依赖\n\n# 自身\n$ vp upgrade                            # 更新 vp\n$ vp implode                            # 卸载 vp 及其数据\n",[197,2890,2891,2895,2907,2918,2922,2927,2938,2952,2973,2995,3015,3026,3037,3048,3068,3089,3093,3098,3115,3131,3148,3161,3175,3188,3192,3197,3209,3221,3233,3244,3256,3268,3288,3308,3312,3316,3327],{"__ignoreMap":195},[200,2892,2893],{"class":202,"line":203},[200,2894,2458],{"class":238},[200,2896,2897,2899,2902,2904],{"class":202,"line":242},[200,2898,207],{"class":206},[200,2900,2901],{"class":210}," vp",[200,2903,250],{"class":210},[200,2905,2906],{"class":238},"                          # 查看版本\n",[200,2908,2909,2911,2913,2915],{"class":202,"line":256},[200,2910,207],{"class":206},[200,2912,2901],{"class":210},[200,2914,263],{"class":210},[200,2916,2917],{"class":238},"                               # 列出所有可用命令\n",[200,2919,2920],{"class":202,"line":269},[200,2921,366],{"emptyLinePlaceholder":365},[200,2923,2924],{"class":202,"line":282},[200,2925,2926],{"class":238},"# 依赖\n",[200,2928,2929,2931,2933,2935],{"class":202,"line":295},[200,2930,207],{"class":206},[200,2932,2901],{"class":210},[200,2934,456],{"class":210},[200,2936,2937],{"class":238},"                            # 按项目的包管理器安装依赖（简写：vp i）\n",[200,2939,2940,2942,2944,2946,2949],{"class":202,"line":310},[200,2941,207],{"class":206},[200,2943,2901],{"class":210},[200,2945,456],{"class":210},[200,2947,2948],{"class":210}," --frozen-lockfile",[200,2950,2951],{"class":238},"          # 锁文件不一致时失败，适合 CI\n",[200,2953,2954,2956,2958,2960,2962,2965,2968,2970],{"class":202,"line":339},[200,2955,207],{"class":206},[200,2957,2901],{"class":210},[200,2959,1933],{"class":210},[200,2961,320],{"class":217},[200,2963,2964],{"class":210},"pk",[200,2966,2967],{"class":332},"g",[200,2969,467],{"class":217},[200,2971,2972],{"class":238},"                          # 添加到 dependencies\n",[200,2974,2975,2977,2979,2981,2984,2986,2988,2990,2992],{"class":202,"line":362},[200,2976,207],{"class":206},[200,2978,2901],{"class":210},[200,2980,1933],{"class":210},[200,2982,2983],{"class":210}," -D",[200,2985,320],{"class":217},[200,2987,2964],{"class":210},[200,2989,2967],{"class":332},[200,2991,467],{"class":217},[200,2993,2994],{"class":238},"                       # 添加到 devDependencies\n",[200,2996,2997,2999,3001,3004,3006,3008,3010,3012],{"class":202,"line":369},[200,2998,207],{"class":206},[200,3000,2901],{"class":210},[200,3002,3003],{"class":210}," remove",[200,3005,320],{"class":217},[200,3007,2964],{"class":210},[200,3009,2967],{"class":332},[200,3011,467],{"class":217},[200,3013,3014],{"class":238},"                       # 移除依赖（别名：rm \u002F un \u002F uninstall）\n",[200,3016,3017,3019,3021,3023],{"class":202,"line":375},[200,3018,207],{"class":206},[200,3020,2901],{"class":210},[200,3022,632],{"class":210},[200,3024,3025],{"class":238},"                             # 更新依赖（简写：vp up）\n",[200,3027,3028,3030,3032,3034],{"class":202,"line":399},[200,3029,207],{"class":206},[200,3031,2901],{"class":210},[200,3033,658],{"class":210},[200,3035,3036],{"class":238},"                           # 查看可更新的包\n",[200,3038,3039,3041,3043,3045],{"class":202,"line":423},[200,3040,207],{"class":206},[200,3042,2901],{"class":210},[200,3044,553],{"class":210},[200,3046,3047],{"class":238},"                               # 列出已安装的包（简写：vp ls）\n",[200,3049,3050,3052,3054,3057,3059,3061,3063,3065],{"class":202,"line":449},[200,3051,207],{"class":206},[200,3053,2901],{"class":210},[200,3055,3056],{"class":210}," why",[200,3058,320],{"class":217},[200,3060,2964],{"class":210},[200,3062,2967],{"class":332},[200,3064,467],{"class":217},[200,3066,3067],{"class":238},"                          # 为什么装了这个包\n",[200,3069,3070,3072,3074,3077,3079,3082,3084,3086],{"class":202,"line":473},[200,3071,207],{"class":206},[200,3073,2901],{"class":210},[200,3075,3076],{"class":210}," pm",[200,3078,320],{"class":217},[200,3080,3081],{"class":210},"cm",[200,3083,2047],{"class":332},[200,3085,467],{"class":217},[200,3087,3088],{"class":238},"                           # 把命令原样转给底层包管理器\n",[200,3090,3091],{"class":202,"line":498},[200,3092,366],{"emptyLinePlaceholder":365},[200,3094,3095],{"class":202,"line":522},[200,3096,3097],{"class":238},"# Node 与包管理器版本\n",[200,3099,3100,3102,3104,3107,3109,3112],{"class":202,"line":527},[200,3101,207],{"class":206},[200,3103,2901],{"class":210},[200,3105,3106],{"class":210}," env",[200,3108,707],{"class":210},[200,3110,3111],{"class":210}," lts",[200,3113,3114],{"class":238},"                        # 为当前项目固定 Node 版本\n",[200,3116,3117,3119,3121,3123,3125,3128],{"class":202,"line":533},[200,3118,207],{"class":206},[200,3120,2901],{"class":210},[200,3122,3106],{"class":210},[200,3124,2631],{"class":210},[200,3126,3127],{"class":1399}," 20",[200,3129,3130],{"class":238},"                         # 当前 shell 使用指定 Node\n",[200,3132,3133,3135,3137,3139,3142,3145],{"class":202,"line":546},[200,3134,207],{"class":206},[200,3136,2901],{"class":210},[200,3138,3106],{"class":210},[200,3140,3141],{"class":210}," default",[200,3143,3144],{"class":210}," node@24",[200,3146,3147],{"class":238},"                # 设置全局默认 Node\n",[200,3149,3150,3152,3154,3156,3158],{"class":202,"line":569},[200,3151,207],{"class":206},[200,3153,2901],{"class":210},[200,3155,3106],{"class":210},[200,3157,1357],{"class":210},[200,3159,3160],{"class":238},"                            # 改用系统已有的 Node 和包管理器\n",[200,3162,3163,3165,3167,3169,3172],{"class":202,"line":590},[200,3164,207],{"class":206},[200,3166,2901],{"class":210},[200,3168,3106],{"class":210},[200,3170,3171],{"class":210}," print",[200,3173,3174],{"class":238},"                          # 打印 PATH 配置\n",[200,3176,3177,3179,3181,3183,3185],{"class":202,"line":614},[200,3178,207],{"class":206},[200,3180,2901],{"class":210},[200,3182,3106],{"class":210},[200,3184,289],{"class":210},[200,3186,3187],{"class":238},"                         # 检查 Node 和包管理器环境\n",[200,3189,3190],{"class":202,"line":619},[200,3191,366],{"emptyLinePlaceholder":365},[200,3193,3194],{"class":202,"line":625},[200,3195,3196],{"class":238},"# 项目\n",[200,3198,3199,3201,3203,3206],{"class":202,"line":638},[200,3200,207],{"class":206},[200,3202,2901],{"class":210},[200,3204,3205],{"class":210}," create",[200,3207,3208],{"class":238},"                             # 从模板创建项目\n",[200,3210,3211,3213,3215,3218],{"class":202,"line":651},[200,3212,207],{"class":206},[200,3214,2901],{"class":210},[200,3216,3217],{"class":210}," migrate",[200,3219,3220],{"class":238},"                            # 把现有项目迁到 Vite+\n",[200,3222,3223,3225,3227,3230],{"class":202,"line":664},[200,3224,207],{"class":206},[200,3226,2901],{"class":210},[200,3228,3229],{"class":210}," dev",[200,3231,3232],{"class":238},"                                # 开发服务器\n",[200,3234,3235,3237,3239,3241],{"class":202,"line":677},[200,3236,207],{"class":206},[200,3238,2901],{"class":210},[200,3240,1286],{"class":210},[200,3242,3243],{"class":238},"                              # 格式化、lint、类型检查\n",[200,3245,3246,3248,3250,3253],{"class":202,"line":700},[200,3247,207],{"class":206},[200,3249,2901],{"class":210},[200,3251,3252],{"class":210}," test",[200,3254,3255],{"class":238},"                               # 跑测试\n",[200,3257,3258,3260,3262,3265],{"class":202,"line":721},[200,3259,207],{"class":206},[200,3261,2901],{"class":210},[200,3263,3264],{"class":210}," build",[200,3266,3267],{"class":238},"                              # 生产构建\n",[200,3269,3270,3272,3274,3276,3278,3281,3283,3285],{"class":202,"line":742},[200,3271,207],{"class":206},[200,3273,2901],{"class":210},[200,3275,2802],{"class":210},[200,3277,320],{"class":217},[200,3279,3280],{"class":210},"scrip",[200,3282,1941],{"class":332},[200,3284,467],{"class":217},[200,3286,3287],{"class":238},"                       # 跑 package.json 脚本或任务\n",[200,3289,3290,3292,3294,3297,3299,3301,3303,3305],{"class":202,"line":747},[200,3291,207],{"class":206},[200,3293,2901],{"class":210},[200,3295,3296],{"class":210}," dlx",[200,3298,320],{"class":217},[200,3300,2964],{"class":210},[200,3302,2967],{"class":332},[200,3304,467],{"class":217},[200,3306,3307],{"class":238},"                          # 临时执行包里的命令，不写入依赖\n",[200,3309,3310],{"class":202,"line":753},[200,3311,366],{"emptyLinePlaceholder":365},[200,3313,3314],{"class":202,"line":769},[200,3315,2814],{"class":238},[200,3317,3318,3320,3322,3324],{"class":202,"line":781},[200,3319,207],{"class":206},[200,3321,2901],{"class":210},[200,3323,671],{"class":210},[200,3325,3326],{"class":238},"                            # 更新 vp\n",[200,3328,3329,3331,3333,3336],{"class":202,"line":803},[200,3330,207],{"class":206},[200,3332,2901],{"class":210},[200,3334,3335],{"class":210}," implode",[200,3337,3338],{"class":238},"                            # 卸载 vp 及其数据\n",[3340,3341,3342],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":195,"searchDepth":242,"depth":242,"links":3344},[3345,3346,3347,3348],{"id":181,"depth":242,"text":182},{"id":1458,"depth":242,"text":1459},{"id":2214,"depth":242,"text":2215},{"id":2829,"depth":242,"text":2830},"md",null,{},{"icon":148},{"title":145,"description":195},"Y7YfsOMDgCbejnZP7zh7PSnq3RJnTH1zjVan5XchclY",[3356,3357],{"title":140,"path":141,"stem":142,"description":195,"icon":143,"children":-1},{"title":150,"path":151,"stem":152,"description":195,"icon":153,"children":-1},1789818652499]