如何設(shè)置 Databend 開發(fā)環(huán)境
工欲善其事,必先利其器。在開啟 Databend 貢獻(xiàn)之旅前,一起來配置適合自己的開發(fā)環(huán)境吧。快速安裝
快速安裝
為方便開發(fā)者快速建立開發(fā)環(huán)境,Databend 維護(hù)了一個(gè)復(fù)雜的 shell 腳本,位于?scripts/setup/dev_setup.sh
。只需執(zhí)行一條指令即可完成開發(fā)環(huán)境配置:
注意:此過程會(huì)輔助安裝部分 python 環(huán)境,可能會(huì)對本地原開發(fā)環(huán)境造成影響,建議預(yù)先執(zhí)行以下命令以創(chuàng)建并啟用專屬虛擬環(huán)境。
如果遇到依賴缺失問題,可以參考「分步安裝 - 測試必備」這一部分的內(nèi)容安裝。分步安裝
分步安裝
這里以 Fedora 36 為例,考慮到不同系統(tǒng)和發(fā)行版之間的差異,你可能需要自行安裝 gcc,python 和 openssl。
1.安裝 Rust toolchain:
推薦使用 rustup 來管理 Rust toolchain ,參考?https://rustup.rs/?進(jìn)行安裝。對于?MacOS 和 Linux 用戶,執(zhí)行:
Databend 通常使用最新發(fā)布的 nightly 工具鏈進(jìn)行開發(fā),相關(guān)信息記錄在?rust-toolchain.toml
?中。Rustup 會(huì)在使用時(shí)對工具鏈進(jìn)行自動(dòng)重載,安裝時(shí)只需默認(rèn)配置。
2.安裝必備依賴:
以下列出了一些安裝構(gòu)建和測試必備依賴的關(guān)鍵步驟,說明及報(bào)錯(cuò)信息以注釋形式呈現(xiàn)。
構(gòu)建必備:
測試必備:
Lint 必備:
編輯器 - Visual Studio Code
訪問?https://code.visualstudio.com?,安裝?Visual Studio Code 。
1.插件推薦
rust-analyzer
作者:The Rust Programming Language
為 Visual Studio Code 提供 Rust 語言支持。
crates
作者:Seray Uzgur
幫助 Rust 開發(fā)者管理 Cargo.toml 中的依賴。僅支持來源為 crates.io 的依賴。
CodeLLDB
作者:Vadim Chugunov
由 LLDB 驅(qū)動(dòng)的原生調(diào)試工具。支持調(diào)試 C++ 、Rust 和其他編譯語言。
Remote - Containers
作者:Microsoft
在 Docker 容器內(nèi)打開任何文件夾或 Repo ,并利用 Visual Studio Code 的全部功能。
2.?利用 Dev Containers 開發(fā)(For Linux)
安裝「Remote - Containers」插件,打開 Databend 后會(huì)看到右下角彈出窗口并提示「Reopen in Container」。
安裝 Docker
根據(jù) Docker Docs - Install 安裝并啟動(dòng)對應(yīng)你發(fā)行版的 docker 。以?Fedora 36
?為例,步驟如下:
將當(dāng)前 User 添加到 docker group 中參考?Docker Docs - PostInstall(https://docs.docker.com/engine/install/linux-postinstall)中 Manage Docker as a non-root user 一節(jié)配置,可能需要重啟。
步驟如下
其他步驟
啟用 Docker :
點(diǎn)擊左下角「打開遠(yuǎn)程窗口」選中「Reopen in Container」即可體驗(yàn)。
其他實(shí)用工具推薦
這里列出一些可能有助于 Databend 開發(fā)的實(shí)用工具,根據(jù)實(shí)際情況按需選用。
1.starship
輕量級、反應(yīng)迅速、可無限定制的高顏值終端!
https://github.com/starship/starship
?參考 starship - installation 進(jìn)行安裝。
2.hyperfine
命令行基準(zhǔn)測試工具。
https://github.com/sharkdp/hyperfine

參考?hyperfine - installation(https://github.com/starship/starship#-installation)進(jìn)行安裝。
關(guān)于 Databend
Databend 是一款開源、彈性、低成本,基于對象存儲(chǔ)也可以做實(shí)時(shí)分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。
Databend 文檔:https://databend.rs/
Twitter:https://twitter.com/Datafuse_Labs
Slack:https://datafusecloud.slack.com/
Wechat:Databend
GitHub :https://github.com/datafuselabs/databend
