• 简体中文
  • 2.3 获取并编译 DORA

    Rust 工具链和 Python 环境就绪后,下一步是获取 DORA 源码并编译。

    本课程锁定 DORA 1.0 RC(commit 25bac6b3),确保所有人结果可复现。

    克隆源码

    # 克隆 DORA 仓库
    git clone https://github.com/dora-rs/dora.git
    cd dora
    
    # 检出课程锁定的版本
    git checkout 25bac6b3e5ed7435f49bd494e0ff4ef81ee0a674
    Tip

    国内网络可用 AtomGit 镜像 加速:

    git clone https://atomgit.com/dora-rs/dora.git
    cd dora
    git checkout 25bac6b3e5ed7435f49bd494e0ff4ef81ee0a674
    编译前请激活虚拟环境

    接下来的编译和 Python 绑定安装需要在 2.2 节 创建的 uv 虚拟环境中进行。 请确认终端前缀显示 (.venv),如未激活,先执行:

    source .venv/bin/activate

    (如果你在 dora/ 子目录下且 .venv 在上级目录,请执行 source ../.venv/bin/activate。)

    编译 DORA CLI

    确保虚拟环境已激活后,在 dora/ 目录下执行:

    cargo build --release -p dora-cli

    这会编译 DORA 的 CLI 工具。首次编译需要下载并构建大量依赖,可能需要 10-30 分钟,取决于网络和机器性能。后续再次编译会快很多。

    编译时间长的原因

    Rust 编译时会在 ~/.cargo 下缓存依赖,target/ 下缓存中间产物。首次编译后,后续修改只需要重编变动的部分,会快得多。网络慢可参考 2.5 节 配置国内 crates 镜像。

    编译完成后,DORA CLI 位于 target/release/dora。可以验证:

    ./target/release/dora --version

    安装 Python 绑定

    编译完成后,需要将 Python 绑定安装到当前激活的 uv 虚拟环境中:

    # 在 dora/ 项目根目录下(确保 .venv 已激活)
    uv pip install -e apis/python/node

    这会让 Python 能 import dora 并使用其中的 Node 类。-e 表示以可编辑模式安装(源码更改后不用重装)。

    Tip

    如果你希望在任意目录下都能直接运行 dora 命令,可以将编译产物加入 PATH。在 ~/.bashrc~/.zshrc 中添加:

    export PATH="$PATH:/path/to/dora/target/release"

    (Windows 用户通过系统环境变量设置,将 dora\target\release 加入 PATH。)

    小结

    • git clone 获取 DORA 源码,锁定 commit 25bac6b3
    • 编译前先激活 .venvsource .venv/bin/activate)。
    • cargo build --release -p dora-cli 编译 dora CLI。
    • uv pip install -e apis/python/node 安装 Python 绑定。
    • target/release 加入 PATH 方便全局调用。