[{"data":1,"prerenderedAt":829},["ShallowReactive",2],{"doc-page:\u002Fdocs\u002Frust-install":3},{"doc":4,"prev":787,"next":795,"resolvedType":8,"readingMinutes":151,"audience":803,"checklist":807,"related":811},{"path":5,"title":6,"description":7,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":12,"publishedAt":12,"icon":13,"body":14},"\u002Fdocs\u002Frust-install","Rust 安装与入门","Rust 编程语言的安装配置、Cargo 工具链与 VS Code 开发环境","article",null,"programming-languages","编程语言","2026-02-03","i-carbon-application",{"type":15,"value":16,"toc":770},"minimark",[17,21,32,44,48,51,90,93,97,105,122,129,132,156,160,298,302,305,361,364,371,428,431,525,528,531,539,542,563,570,574,620,623,627,630,645,648,651,665,671,674,677,690,693,713,716,766],[18,19,6],"h1",{"id":20},"rust-安装与入门",[22,23,24,31],"p",{},[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fwww.rust-lang.org\u002F",[29],"nofollow","Rust"," 是注重安全性和性能的系统编程语言。",[22,33,34,35,39,40,43],{},"这页适合做“Rust 工具链安装到第一批工程习惯”的起步说明。Rust 的学习门槛很多时候不在安装，而在于你要尽早熟悉 ",[36,37,38],"code",{},"rustup","、",[36,41,42],{},"cargo","、格式化、lint 和依赖管理这一整套开发流。",[45,46,47],"h2",{"id":47},"推荐上手顺序",[22,49,50],{},"建议按下面顺序开始：",[52,53,54,61,68,80],"ol",{},[55,56,57,58,60],"li",{},"先装好 ",[36,59,38],{}," 和稳定版工具链",[55,62,63,64,67],{},"用 ",[36,65,66],{},"cargo new"," 跑通第一个项目",[55,69,70,71,39,74,39,77],{},"熟悉 ",[36,72,73],{},"cargo check",[36,75,76],{},"cargo run",[36,78,79],{},"cargo test",[55,81,82,83,39,86,89],{},"再补 ",[36,84,85],{},"cargo fmt",[36,87,88],{},"cargo clippy"," 和常用扩展工具",[22,91,92],{},"先把工程体验跑顺，再去啃所有语法和所有权模型，会更不容易劝退。",[45,94,96],{"id":95},"安装-rustup","安装 Rustup",[22,98,99,104],{},[25,100,103],{"href":101,"rel":102},"https:\u002F\u002Frustup.rs",[29],"Rustup"," 是 Rust 的官方安装器和版本管理工具。",[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 Rustlang.Rustup\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,125],{},"或从官网下载：",[25,126,128],{"href":101,"rel":127},[29],"rustup.rs",[22,130,131],{},"验证：",[106,133,137],{"className":134,"code":135,"language":136,"meta":111,"style":111},"language-bash shiki shiki-themes github-light github-dark","rustc --version\ncargo --version\n","bash",[36,138,139,149],{"__ignoreMap":111},[115,140,141,145],{"class":117,"line":118},[115,142,144],{"class":143},"sScJk","rustc",[115,146,148],{"class":147},"sj4cs"," --version\n",[115,150,152,154],{"class":117,"line":151},2,[115,153,42],{"class":143},[115,155,148],{"class":147},[45,157,159],{"id":158},"cargo-常用命令","Cargo 常用命令",[106,161,163],{"className":134,"code":162,"language":136,"meta":111,"style":111},"# 创建项目\ncargo new my-project\ncargo new --lib my-lib\n\n# 编译与运行\ncargo build              # 调试构建\ncargo build --release    # 发布构建\ncargo run                # 编译并运行\ncargo check              # 快速检查（不生成二进制）\n\n# 测试与质量\ncargo test               # 运行测试\ncargo fmt                # 格式化代码\ncargo clippy             # 代码检查（lint）\n",[36,164,165,171,182,195,202,208,219,232,243,254,259,265,276,287],{"__ignoreMap":111},[115,166,167],{"class":117,"line":118},[115,168,170],{"class":169},"sJ8bj","# 创建项目\n",[115,172,173,175,179],{"class":117,"line":151},[115,174,42],{"class":143},[115,176,178],{"class":177},"sZZnC"," new",[115,180,181],{"class":177}," my-project\n",[115,183,185,187,189,192],{"class":117,"line":184},3,[115,186,42],{"class":143},[115,188,178],{"class":177},[115,190,191],{"class":147}," --lib",[115,193,194],{"class":177}," my-lib\n",[115,196,198],{"class":117,"line":197},4,[115,199,201],{"emptyLinePlaceholder":200},true,"\n",[115,203,205],{"class":117,"line":204},5,[115,206,207],{"class":169},"# 编译与运行\n",[115,209,211,213,216],{"class":117,"line":210},6,[115,212,42],{"class":143},[115,214,215],{"class":177}," build",[115,217,218],{"class":169},"              # 调试构建\n",[115,220,222,224,226,229],{"class":117,"line":221},7,[115,223,42],{"class":143},[115,225,215],{"class":177},[115,227,228],{"class":147}," --release",[115,230,231],{"class":169},"    # 发布构建\n",[115,233,235,237,240],{"class":117,"line":234},8,[115,236,42],{"class":143},[115,238,239],{"class":177}," run",[115,241,242],{"class":169},"                # 编译并运行\n",[115,244,246,248,251],{"class":117,"line":245},9,[115,247,42],{"class":143},[115,249,250],{"class":177}," check",[115,252,253],{"class":169},"              # 快速检查（不生成二进制）\n",[115,255,257],{"class":117,"line":256},10,[115,258,201],{"emptyLinePlaceholder":200},[115,260,262],{"class":117,"line":261},11,[115,263,264],{"class":169},"# 测试与质量\n",[115,266,268,270,273],{"class":117,"line":267},12,[115,269,42],{"class":143},[115,271,272],{"class":177}," test",[115,274,275],{"class":169},"               # 运行测试\n",[115,277,279,281,284],{"class":117,"line":278},13,[115,280,42],{"class":143},[115,282,283],{"class":177}," fmt",[115,285,286],{"class":169},"                # 格式化代码\n",[115,288,290,292,295],{"class":117,"line":289},14,[115,291,42],{"class":143},[115,293,294],{"class":177}," clippy",[115,296,297],{"class":169},"             # 代码检查（lint）\n",[45,299,301],{"id":300},"vs-code-配置","VS Code 配置",[22,303,304],{},"推荐扩展：",[306,307,308,321],"table",{},[309,310,311],"thead",{},[312,313,314,318],"tr",{},[315,316,317],"th",{},"扩展",[315,319,320],{},"说明",[322,323,324,337,349],"tbody",{},[312,325,326,334],{},[327,328,329],"td",{},[25,330,333],{"href":331,"rel":332},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=rust-lang.rust-analyzer",[29],"rust-analyzer",[327,335,336],{},"语言服务器",[312,338,339,346],{},[327,340,341],{},[25,342,345],{"href":343,"rel":344},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=tamasfe.even-better-toml",[29],"Even Better TOML",[327,347,348],{},"TOML 文件支持",[312,350,351,358],{},[327,352,353],{},[25,354,357],{"href":355,"rel":356},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=vadimcn.vscode-lldb",[29],"CodeLLDB",[327,359,360],{},"调试器",[45,362,363],{"id":363},"配置国内镜像",[22,365,366,367,370],{},"创建或编辑 ",[36,368,369],{},"~\u002F.cargo\u002Fconfig.toml","：",[106,372,376],{"className":373,"code":374,"language":375,"meta":111,"style":111},"language-toml shiki shiki-themes github-light github-dark","[source.crates-io]\nreplace-with = \"ustc\"\n\n[source.ustc]\nregistry = \"sparse+https:\u002F\u002Fmirrors.ustc.edu.cn\u002Fcrates.io-index\u002F\"\n","toml",[36,377,378,395,403,407,420],{"__ignoreMap":111},[115,379,380,383,386,389,392],{"class":117,"line":118},[115,381,382],{"class":121},"[",[115,384,385],{"class":143},"source",[115,387,388],{"class":121},".",[115,390,391],{"class":143},"crates-io",[115,393,394],{"class":121},"]\n",[115,396,397,400],{"class":117,"line":151},[115,398,399],{"class":121},"replace-with = ",[115,401,402],{"class":177},"\"ustc\"\n",[115,404,405],{"class":117,"line":184},[115,406,201],{"emptyLinePlaceholder":200},[115,408,409,411,413,415,418],{"class":117,"line":197},[115,410,382],{"class":121},[115,412,385],{"class":143},[115,414,388],{"class":121},[115,416,417],{"class":143},"ustc",[115,419,394],{"class":121},[115,421,422,425],{"class":117,"line":204},[115,423,424],{"class":121},"registry = ",[115,426,427],{"class":177},"\"sparse+https:\u002F\u002Fmirrors.ustc.edu.cn\u002Fcrates.io-index\u002F\"\n",[45,429,430],{"id":430},"实用工具",[106,432,434],{"className":134,"code":433,"language":136,"meta":111,"style":111},"# cargo-watch：文件变更自动运行\ncargo install cargo-watch\ncargo watch -x run\n\n# cargo-edit：命令行管理依赖\ncargo install cargo-edit\ncargo add serde\ncargo add tokio --features full\n\n# cargo-expand：展开宏\ncargo install cargo-expand\n",[36,435,436,441,451,464,468,473,482,492,507,511,516],{"__ignoreMap":111},[115,437,438],{"class":117,"line":118},[115,439,440],{"class":169},"# cargo-watch：文件变更自动运行\n",[115,442,443,445,448],{"class":117,"line":151},[115,444,42],{"class":143},[115,446,447],{"class":177}," install",[115,449,450],{"class":177}," cargo-watch\n",[115,452,453,455,458,461],{"class":117,"line":184},[115,454,42],{"class":143},[115,456,457],{"class":177}," watch",[115,459,460],{"class":147}," -x",[115,462,463],{"class":177}," run\n",[115,465,466],{"class":117,"line":197},[115,467,201],{"emptyLinePlaceholder":200},[115,469,470],{"class":117,"line":204},[115,471,472],{"class":169},"# cargo-edit：命令行管理依赖\n",[115,474,475,477,479],{"class":117,"line":210},[115,476,42],{"class":143},[115,478,447],{"class":177},[115,480,481],{"class":177}," cargo-edit\n",[115,483,484,486,489],{"class":117,"line":221},[115,485,42],{"class":143},[115,487,488],{"class":177}," add",[115,490,491],{"class":177}," serde\n",[115,493,494,496,498,501,504],{"class":117,"line":234},[115,495,42],{"class":143},[115,497,488],{"class":177},[115,499,500],{"class":177}," tokio",[115,502,503],{"class":147}," --features",[115,505,506],{"class":177}," full\n",[115,508,509],{"class":117,"line":245},[115,510,201],{"emptyLinePlaceholder":200},[115,512,513],{"class":117,"line":256},[115,514,515],{"class":169},"# cargo-expand：展开宏\n",[115,517,518,520,522],{"class":117,"line":261},[115,519,42],{"class":143},[115,521,447],{"class":177},[115,523,524],{"class":177}," cargo-expand\n",[45,526,527],{"id":527},"常见目录和文件",[22,529,530],{},"一个最小 Rust 项目通常会看到：",[106,532,537],{"className":533,"code":535,"language":536,"meta":111},[534],"language-text","my-project\u002F\n  Cargo.toml\n  Cargo.lock\n  src\u002F\n    main.rs\n","text",[36,538,535],{"__ignoreMap":111},[22,540,541],{},"可以简单理解为：",[543,544,545,551,557],"ul",{},[55,546,547,550],{},[36,548,549],{},"Cargo.toml","：项目配置和依赖",[55,552,553,556],{},[36,554,555],{},"Cargo.lock","：精确依赖锁定",[55,558,559,562],{},[36,560,561],{},"src\u002Fmain.rs","：二进制项目入口",[22,564,565,566,569],{},"如果是库项目，则通常会看到 ",[36,567,568],{},"src\u002Flib.rs","。",[45,571,573],{"id":572},"进阶交叉编译","进阶：交叉编译",[106,575,577],{"className":134,"code":576,"language":136,"meta":111,"style":111},"# 添加目标平台\nrustup target add x86_64-unknown-linux-gnu\n\n# 交叉编译\ncargo build --target x86_64-unknown-linux-gnu --release\n",[36,578,579,584,596,600,605],{"__ignoreMap":111},[115,580,581],{"class":117,"line":118},[115,582,583],{"class":169},"# 添加目标平台\n",[115,585,586,588,591,593],{"class":117,"line":151},[115,587,38],{"class":143},[115,589,590],{"class":177}," target",[115,592,488],{"class":177},[115,594,595],{"class":177}," x86_64-unknown-linux-gnu\n",[115,597,598],{"class":117,"line":184},[115,599,201],{"emptyLinePlaceholder":200},[115,601,602],{"class":117,"line":197},[115,603,604],{"class":169},"# 交叉编译\n",[115,606,607,609,611,614,617],{"class":117,"line":204},[115,608,42],{"class":143},[115,610,215],{"class":177},[115,612,613],{"class":147}," --target",[115,615,616],{"class":177}," x86_64-unknown-linux-gnu",[115,618,619],{"class":147}," --release\n",[45,621,622],{"id":622},"常见问题",[624,625,626],"h3",{"id":626},"安装完后命令找不到",[22,628,629],{},"优先检查：",[543,631,632,635,642],{},[55,633,634],{},"终端是否重开",[55,636,637,39,639,641],{},[36,638,42],{},[36,640,144],{}," 是否已加入 PATH",[55,643,644],{},"当前 shell 是否加载了最新环境变量",[624,646,647],{"id":647},"编译很慢",[22,649,650],{},"Rust 首次编译和依赖多的项目确实会慢一些。日常开发时优先使用：",[543,652,653,657,661],{},[55,654,655],{},[36,656,73],{},[55,658,659],{},[36,660,76],{},[55,662,663],{},[36,664,79],{},[22,666,667,668,569],{},"只有要发布或看最终性能时，再跑 ",[36,669,670],{},"--release",[624,672,673],{"id":673},"镜像源配置后依赖异常",[22,675,676],{},"如果用了国内镜像，出现拉取异常时，要确认：",[543,678,679,684,687],{},[55,680,681,683],{},[36,682,369],{}," 是否写对",[55,685,686],{},"镜像源是否仍可用",[55,688,689],{},"是否需要切回官方源排查",[45,691,692],{"id":692},"延伸阅读",[543,694,695,701,707],{},[55,696,697],{},[25,698,700],{"href":699},"\u002Fdocs\u002Fvscode-setup","VS Code 配置指南",[55,702,703],{},[25,704,706],{"href":705},"\u002Fdocs\u002Fgithub-actions","GitHub Actions 入门",[55,708,709],{},[25,710,712],{"href":711},"\u002Fdocs\u002Fdocker-setup","Docker Desktop 安装与使用",[45,714,715],{"id":715},"参考链接",[543,717,718,726,734,742,750,758],{},[55,719,720,725],{},[25,721,724],{"href":722,"rel":723},"https:\u002F\u002Fwww.rust-lang.org\u002Fzh-CN\u002F",[29],"Rust 官网"," — 中文页面",[55,727,728,733],{},[25,729,732],{"href":730,"rel":731},"https:\u002F\u002Fgithub.com\u002Frust-lang\u002Frust",[29],"Rust GitHub"," — 源码",[55,735,736,741],{},[25,737,740],{"href":738,"rel":739},"https:\u002F\u002Fkaisery.github.io\u002Ftrpl-zh-cn\u002F",[29],"The Rust Book 中文版"," — 官方教程",[55,743,744,749],{},[25,745,748],{"href":746,"rel":747},"https:\u002F\u002Frust-lang.github.io\u002Frustup\u002F",[29],"Rustup 文档"," — 工具链管理",[55,751,752,757],{},[25,753,756],{"href":754,"rel":755},"https:\u002F\u002Fcrates.io\u002F",[29],"crates.io"," — Rust 包注册中心",[55,759,760,765],{},[25,761,764],{"href":762,"rel":763},"https:\u002F\u002Fmirrors.ustc.edu.cn\u002Fhelp\u002Fcrates.io-index.html",[29],"USTC 镜像"," — 中科大镜像说明",[767,768,769],"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 .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":111,"searchDepth":151,"depth":151,"links":771},[772,773,774,775,776,777,778,779,780,785,786],{"id":47,"depth":151,"text":47},{"id":95,"depth":151,"text":96},{"id":158,"depth":151,"text":159},{"id":300,"depth":151,"text":301},{"id":363,"depth":151,"text":363},{"id":430,"depth":151,"text":430},{"id":527,"depth":151,"text":527},{"id":572,"depth":151,"text":573},{"id":622,"depth":151,"text":622,"children":781},[782,783,784],{"id":626,"depth":184,"text":626},{"id":647,"depth":184,"text":647},{"id":673,"depth":184,"text":673},{"id":692,"depth":151,"text":692},{"id":715,"depth":151,"text":715},{"path":788,"title":789,"description":790,"docType":8,"resourceKind":9,"categoryId":791,"categoryLabel":792,"updatedAt":793,"publishedAt":793,"icon":794},"\u002Fdocs\u002Fvideo-download","视频下载与处理","YouTube、抖音、TikTok、Nico 等平台视频下载工具及 FFmpeg 编码指南","media-creation","媒体与创作","2026-02-07","i-carbon-media-library",{"path":796,"title":797,"description":798,"docType":8,"resourceKind":9,"categoryId":799,"categoryLabel":800,"updatedAt":801,"publishedAt":801,"icon":802},"\u002Fdocs\u002Fonline-utilities","在线实用工具","翻译、临时邮箱、地址生成、桌面美化、开发者工具等日常在线工具","online-tools","在线工具","2026-01-31","i-carbon-tool-box",[804,805,806],"希望把零散经验整理成长期可复用工作流的人","想先建立认知，再决定是否深入实践的人","希望阅读时顺手建立自己的操作清单或收藏体系的人",[808,809,810],"先浏览标题、摘要和目录，带着问题阅读会更高效","顺手记录真正对你有用的命令、链接和注意事项，避免重复搜索","如果页面里提到相关文档，尽量一起打开对照，效果通常更完整",[812,817,821,825],{"path":813,"title":814,"description":815,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":816,"publishedAt":816,"icon":13},"\u002Fdocs\u002Ftesting-guide","前端测试指南","Vitest 单元测试、Playwright E2E 测试、测试策略与最佳实践","2026-02-28",{"path":818,"title":819,"description":820,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":816,"publishedAt":816,"icon":13},"\u002Fdocs\u002Fbun-deno","Bun 与 Deno 运行时","Bun 和 Deno 的安装使用、与 Node.js 对比、包管理与实用命令",{"path":822,"title":823,"description":824,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":816,"publishedAt":816,"icon":13},"\u002Fdocs\u002Fcss-tricks","CSS 实用技巧","现代 CSS 特性、布局技巧、动画、暗色模式与常用代码片段",{"path":826,"title":827,"description":828,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":816,"publishedAt":816,"icon":13},"\u002Fdocs\u002Fredis-guide","Redis 使用指南","Redis 安装、数据类型、常用命令、缓存策略与 Node.js 集成",1776215715129]