1"use strict";(globalThis.webpackChunkatsf4g_co_docs||=[]).push([[5092],{6736(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>n,metadata:()=>d,toc:()=>a});const d=JSON.parse('{"id":"getting-started/prerequisites","title":"\u73af\u5883\u51c6\u5907","description":"\u5de5\u5177\u94fe","source":"@site/docs/getting-started/prerequisites.md","sourceDirName":"getting-started","slug":"/getting-started/prerequisites","permalink":"/getting-started/prerequisites","draft":false,"unlisted":false,"editUrl":"https://github.com/atframework/atsf4g-co/edit/main/doc/docs/getting-started/prerequisites.md","tags":[],"version":"current","frontMatter":{"title":"\u73af\u5883\u51c6\u5907"},"sidebar":"docs","previous":{"title":"\u9879\u76ee\u7b80\u4ecb","permalink":"/"},"next":{"title":"\u6784\u5efa","permalink":"/getting-started/build"}}');var i=s(6070),r=s(3797);const n={title:"\u73af\u5883\u51c6\u5907"},l="\u73af\u5883\u51c6\u5907",c={},a=[{value:"\u5de5\u5177\u94fe",id:"\u5de5\u5177\u94fe",level:2},{value:"\u8fd0\u884c\u65f6\u4f9d\u8d56",id:"\u8fd0\u884c\u65f6\u4f9d\u8d56",level:2},{value:"etcd\uff08\u5fc5\u9700\uff09",id:"etcd\u5fc5\u9700",level:3},{value:"Redis\uff08\u53ef\u9009\uff0c\u6309\u9700\uff09",id:"redis\u53ef\u9009\u6309\u9700",level:3},{value:"\u76ee\u5f55\u7ea6\u5b9a",id:"\u76ee\u5f55\u7ea6\u5b9a",level:2}];function h(e){const t={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"\u73af\u5883\u51c6\u5907",children:"\u73af\u5883\u51c6\u5907"})}),"\n",(0,i.jsx)(t.h2,{id:"\u5de5\u5177\u94fe",children:"\u5de5\u5177\u94fe"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"\u5de5\u5177"}),(0,i.jsx)(t.th,{children:"\u8981\u6c42"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CMake"}),(0,i.jsx)(t.td,{children:"\u2265 3.24"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"\u7f16\u8bd1\u5668"}),(0,i.jsx)(t.td,{children:"MSVC 2022\uff08Windows\uff09/ GCC 10+ / Clang 12+\uff08Linux/macOS\uff09"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Python"}),(0,i.jsxs)(t.td,{children:["3.x\uff08\u542b mako\uff1a",(0,i.jsx)(t.code,{children:"pip install mako"}),"\uff0c\u4ee3\u7801\u751f\u6210\u9700\u8981\uff09"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vcpkg"}),(0,i.jsx)(t.td,{children:"Windows \u4e0b\u63d0\u4f9b openssl/mbedtls\u3001libcurl\u3001libuv \u7b49\u9884\u7f16\u8bd1\u4f9d\u8d56"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"git"}),(0,i.jsxs)(t.td,{children:["\u5b50\u6a21\u5757\u521d\u59cb\u5316\uff08",(0,i.jsx)(t.code,{children:"atframework/Repository.cmake"})," \u81ea\u52a8\u5904\u7406\uff09"]})]})]})]}),"\n",(0,i.jsxs)(t.p,{children:["\u7b2c\u4e09\u65b9\u4f9d\u8d56\u901a\u8fc7 cmake-toolset ports \u673a\u5236\u4e0b\u8f7d\u6784\u5efa\uff08\u89c1 ",(0,i.jsx)(t.code,{children:"third_party/Repository.cmake"}),"\uff09\uff0c\u652f\u6301 GitHub \u955c\u50cf\u3002"]}),"\n",(0,i.jsx)(t.h2,{id:"\u8fd0\u884c\u65f6\u4f9d\u8d56",children:"\u8fd0\u884c\u65f6\u4f9d\u8d56"}),"\n",(0,i.jsx)(t.h3,{id:"etcd\u5fc5\u9700",children:"etcd\uff08\u5fc5\u9700\uff09"}),"\n",(0,i.jsx)(t.p,{children:"atproxy \u4f7f\u7528 etcd \u505a\u670d\u52a1\u53d1\u73b0\u4e0e\u5728\u7ebf\u68c0\u6d4b\u3002\u672c\u5730\u6d4b\u8bd5\u53ef\u7528\u4e00\u952e\u811a\u672c\u542f\u52a8\u4e34\u65f6\u5b9e\u4f8b\uff1a"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:'# Linux / macOS\uff08\u7aef\u53e3 12379\uff09\r\nbash atframework/libatapp/ci/etcd/setup-etcd.sh start\r\nexport ATAPP_UNIT_TEST_ETCD_HOST="http://127.0.0.1:12379"\n'})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-powershell",children:'# Windows\r\n.\\atframework\\libatapp\\ci\\etcd\\setup-etcd.ps1 -Command start\r\n$env:ATAPP_UNIT_TEST_ETCD_HOST = "http://127.0.0.1:12379"\n'})}),"\n",(0,i.jsx)(t.h3,{id:"redis\u53ef\u9009\u6309\u9700",children:"Redis\uff08\u53ef\u9009\uff0c\u6309\u9700\uff09"}),"\n",(0,i.jsxs)(t.p,{children:["\u6570\u636e\u5c42\uff08",(0,i.jsx)(t.code,{children:"db_msg_dispatcher"}),"\u3001\u8def\u7531\u5bf9\u8c61\u7f13\u5b58\u3001dtmq \u9891\u9053\u8bb0\u5f55\u7b49\uff09\u4f7f\u7528 Redis\uff08\u652f\u6301 cluster \u4e0e sentinel/raw\r\n\u4e24\u79cd\u8fde\u63a5\u6a21\u5f0f\uff09\u3002\u7528\u5230 DB \u7684\u670d\u52a1\u9700\u8981\u63d0\u524d\u51c6\u5907\u3002"]}),"\n",(0,i.jsx)(t.h2,{id:"\u76ee\u5f55\u7ea6\u5b9a",children:"\u76ee\u5f55\u7ea6\u5b9a"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\u6784\u5efa\u4ea7\u7269\u7edf\u4e00\u8f93\u51fa\u5230 ",(0,i.jsx)(t.code,{children:"<BUILD_DIR>/publish/"}),"\u3002"]}),"\n",(0,i.jsxs)(t.li,{children:["Windows \u4e0b\u63a8\u8350\u6784\u5efa\u76ee\u5f55 ",(0,i.jsx)(t.code,{children:"build_jobs_cmake_tools"}),"\uff08\u4e0e ",(0,i.jsx)(t.code,{children:".vscode/settings.json"})," \u4e2d\u7684 clangd \u914d\u7f6e\u4e00\u81f4\uff09\u3002"]}),"\n",(0,i.jsxs)(t.li,{children:["Linux \u4e0b ",(0,i.jsx)(t.code,{children:"cmake_dev.
1sh"})," \u81ea\u52a8\u751f\u6210 ",(0,i.jsx)(t.code,{children:"build_jobs_$(uname -s)"}),"\u3002"]}),"\n"]})]})}function o(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.