[{"data":1,"prerenderedAt":353},["ShallowReactive",2],{"wiki-page-/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi":3,"wiki-doc-items-/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi":313,"language-switcher-data-/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi":337,"wiki-i18n-paths-/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi":352},{"id":4,"title":5,"body":6,"canonicalPath":293,"chapter":294,"chapterSort":295,"date":296,"description":39,"docI18nKey":297,"docKey":298,"docRoot":299,"docTitle":300,"extension":301,"i18nKey":302,"isBlogPost":303,"isWikiDoc":304,"isWikiIndex":303,"layout":305,"legacyPath":305,"locale":306,"localeSlug":307,"meta":308,"navigation":304,"path":293,"seo":309,"sourcePath":310,"sourceStem":302,"stem":311,"wikiDepth":47,"__hash__":312},"content/_i18n/en-us/wiki/2026-02-16-Flutter教程/ch3-环境配置.md","Environment Setup",{"type":7,"value":8,"toc":290},"minimark",[9,14,23,28,33,73,115,139,143,160,190,194,207,214,218,223,228,231,237,280,286],[10,11,13],"h3",{"id":12},"linux","Linux",[15,16,17],"p",{},[18,19,20],"a",{"href":20,"rel":21},"https://dart.dev/get-dart",[22],"nofollow",[24,25,27],"h4",{"id":26},"installation-method","Installation method",[29,30,32],"h5",{"id":31},"apt","APT",[34,35,40],"pre",{"className":36,"code":37,"language":38,"meta":39,"style":39},"language-bash shiki shiki-themes github-light github-dark","sudo apt-get update && sudo apt-get install apt-transport-https\n","bash","",[41,42,43],"code",{"__ignoreMap":39},[44,45,48,52,56,59,63,65,67,70],"span",{"class":46,"line":47},"line",1,[44,49,51],{"class":50},"sScJk","sudo",[44,53,55],{"class":54},"sZZnC"," apt-get",[44,57,58],{"class":54}," update",[44,60,62],{"class":61},"sVt8B"," && ",[44,64,51],{"class":50},[44,66,55],{"class":54},[44,68,69],{"class":54}," install",[44,71,72],{"class":54}," apt-transport-https\n",[34,74,76],{"className":36,"code":75,"language":38,"meta":39,"style":39},"wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub \\\n  | sudo gpg  --dearmor -o /usr/share/keyrings/dart.gpg\n",[41,77,78,93],{"__ignoreMap":39},[44,79,80,83,87,90],{"class":46,"line":47},[44,81,82],{"class":50},"wget",[44,84,86],{"class":85},"sj4cs"," -qO-",[44,88,89],{"class":54}," https://dl-ssl.google.com/linux/linux_signing_key.pub",[44,91,92],{"class":85}," \\\n",[44,94,96,100,103,106,109,112],{"class":46,"line":95},2,[44,97,99],{"class":98},"szBVR","  |",[44,101,102],{"class":50}," sudo",[44,104,105],{"class":54}," gpg",[44,107,108],{"class":85},"  --dearmor",[44,110,111],{"class":85}," -o",[44,113,114],{"class":54}," /usr/share/keyrings/dart.gpg\n",[34,116,118],{"className":36,"code":117,"language":38,"meta":39,"style":39},"sudo apt-get update && sudo apt-get install dart\n",[41,119,120],{"__ignoreMap":39},[44,121,122,124,126,128,130,132,134,136],{"class":46,"line":47},[44,123,51],{"class":50},[44,125,55],{"class":54},[44,127,58],{"class":54},[44,129,62],{"class":61},[44,131,51],{"class":50},[44,133,55],{"class":54},[44,135,69],{"class":54},[44,137,138],{"class":54}," dart\n",[29,140,142],{"id":141},"dnf","DNF",[34,144,146],{"className":36,"code":145,"language":38,"meta":39,"style":39},"sudo dnf install dnf-plugins-core\n",[41,147,148],{"__ignoreMap":39},[44,149,150,152,155,157],{"class":46,"line":47},[44,151,51],{"class":50},[44,153,154],{"class":54}," dnf",[44,156,69],{"class":54},[44,158,159],{"class":54}," dnf-plugins-core\n",[34,161,163],{"className":36,"code":162,"language":38,"meta":39,"style":39},"sudo dnf copr enable albertop/dart\nsudo dnf install dart\n",[41,164,165,180],{"__ignoreMap":39},[44,166,167,169,171,174,177],{"class":46,"line":47},[44,168,51],{"class":50},[44,170,154],{"class":54},[44,172,173],{"class":54}," copr",[44,175,176],{"class":54}," enable",[44,178,179],{"class":54}," albertop/dart\n",[44,181,182,184,186,188],{"class":46,"line":95},[44,183,51],{"class":50},[44,185,154],{"class":54},[44,187,69],{"class":54},[44,189,138],{"class":54},[24,191,193],{"id":192},"verify-whether-the-installation-was-successful","Verify whether the installation was successful.",[34,195,197],{"className":36,"code":196,"language":38,"meta":39,"style":39},"dart --version\n",[41,198,199],{"__ignoreMap":39},[44,200,201,204],{"class":46,"line":47},[44,202,203],{"class":50},"dart",[44,205,206],{"class":85}," --version\n",[15,208,209],{},[210,211],"img",{"alt":212,"src":213},"alt text","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2026/02/16/1771223439849.webp",[24,215,217],{"id":216},"download-vscode-plugins","Download VScode plugins",[15,219,220],{},[210,221],{"alt":212,"src":222},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2026/02/16/1771223560894.webp",[15,224,225],{},[210,226],{"alt":212,"src":227},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2026/02/16/1771223587027.webp",[24,229,230],{"id":230},"test",[15,232,233,234],{},"Create the first project",[41,235,236],{},"demo01_helloworld.dart",[34,238,241],{"className":239,"code":240,"language":203,"meta":39,"style":39},"language-dart shiki shiki-themes github-light github-dark","void main() \n{\n  print('Hello, World!');\n}\n",[41,242,243,254,259,274],{"__ignoreMap":39},[44,244,245,248,251],{"class":46,"line":47},[44,246,247],{"class":98},"void",[44,249,250],{"class":50}," main",[44,252,253],{"class":61},"() \n",[44,255,256],{"class":46,"line":95},[44,257,258],{"class":61},"{\n",[44,260,262,265,268,271],{"class":46,"line":261},3,[44,263,264],{"class":50},"  print",[44,266,267],{"class":61},"(",[44,269,270],{"class":54},"'Hello, World!'",[44,272,273],{"class":61},");\n",[44,275,277],{"class":46,"line":276},4,[44,278,279],{"class":61},"}\n",[15,281,282,283],{},"Click to run\n",[210,284],{"alt":212,"src":285},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2026/02/16/1771223942698.webp",[287,288,289],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":39,"searchDepth":95,"depth":95,"links":291},[292],{"id":12,"depth":261,"text":13},"/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi","3",3000000,"2026-02-16","wiki/2026-02-16-flutter-jiao-cheng","en-us:2026-02-16-flutter-jiao-cheng","/en-us/wiki/2026-02-16-flutter-jiao-cheng","Flutter教程","md","wiki/2026-02-16-Flutter教程/ch3-环境配置",false,true,null,"en-US","en-us",{},{"title":5,"description":39},"/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi","_i18n/en-us/wiki/2026-02-16-Flutter教程/ch3-环境配置","nP91DdomQF5MtnniyMpc36bU3IgHFfpHJqRTMI4s41w",[314,320,326,327,333],{"path":315,"stem":316,"title":317,"date":296,"chapter":318,"chapterSort":319,"docKey":298,"docRoot":299,"docTitle":300,"isWikiDoc":304,"isWikiIndex":303},"/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch1-jian-jie","_i18n/en-us/wiki/2026-02-16-Flutter教程/ch1-简介","Introduction","1",1000000,{"path":321,"stem":322,"title":323,"date":296,"chapter":324,"chapterSort":325,"docKey":298,"docRoot":299,"docTitle":300,"isWikiDoc":304,"isWikiIndex":303},"/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch2-can-kao-zi-liao","_i18n/en-us/wiki/2026-02-16-Flutter教程/ch2-参考资料","references","2",2000000,{"path":293,"stem":311,"title":5,"date":296,"chapter":294,"chapterSort":295,"docKey":298,"docRoot":299,"docTitle":300,"isWikiDoc":304,"isWikiIndex":303},{"path":328,"stem":329,"title":330,"date":296,"chapter":331,"chapterSort":332,"docKey":298,"docRoot":299,"docTitle":300,"isWikiDoc":304,"isWikiIndex":303},"/en-us/wiki/2026-02-16-flutter-jiao-cheng/ch4-dart-yu-yan-jiao-cheng","_i18n/en-us/wiki/2026-02-16-Flutter教程/ch4-Dart语言教程","Dart language tutorial","4",4000000,{"path":299,"stem":334,"title":335,"date":296,"chapter":305,"chapterSort":336,"docKey":298,"docRoot":299,"docTitle":300,"isWikiDoc":304,"isWikiIndex":304},"_i18n/en-us/wiki/2026-02-16-Flutter教程/index","Flutter tutorial",0,{"variants":338},[339,340,343,346,349],{"path":293,"localeSlug":307,"i18nKey":302},{"path":341,"localeSlug":342,"i18nKey":302},"/zh-hant/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi","zh-hant",{"path":344,"localeSlug":345,"i18nKey":302},"/zh-hk/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi","zh-hk",{"path":347,"localeSlug":348,"i18nKey":302},"/zh-tw/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi","zh-tw",{"path":350,"localeSlug":351,"i18nKey":302},"/zh-cn/wiki/2026-02-16-flutter-jiao-cheng/ch3-huan-jing-pei-zhi","zh-cn",[293,310,341,310,344,310,347,310,350,310],1780663020735]