令我有点惊讶的是,InfluxDB 官方文档没有给出构建其 Rust 代码库的分步指南。我找到了如何从源代码编译InfluxDB。然而它谈论的是 go 代码库。据我所知最新的 InfluxDB 已经切换到 Rust 了。
我从 github 上的 InfluxDB 进行了 git 克隆。我向在线人工智能聊天机器人询问了此事。它建议克隆后执行以下步骤:
cd influxdb_iox
cargo build
我正在开发 Debian 9 机器。这是我第一次处理生锈问题。我按照以下步骤安装了它。
sudo apt install rustc
rustc --version
> rustc 1.34.2
cargo --version
> cargo 1.34.0
cd influxdb_iox
cargo build
> error: failed to parse manifest at `/home/username/work/influxdb/influxdb_iox/Cargo.toml`
> Caused by:
> invalid type: map, expected a sequence for key `package.authors`
我的代码提示是:
git log
> commit bb6a5c0bf6968117251617cda99cb39a5274b6dd
> Author: Jamie Strandboge <[email protected]>
> Date: Thu Nov 2 12:16:13 2023 +0000
>
> chore: ignore Go in .github/dependabot.yml, take 3 (#24439)
>
> Update to use the documented dependency-name: "*" methodology rather
> than an undocumented example.
>
> References:
> - https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
由于我对 rust 很陌生,我不确定这是否是 rustc/cargo 版本问题,因为我使用的是相当旧的 Debian?我很感激任何人都可以与我分享他们的经验或向我指出正确的文档。另外我想知道是否有使用传统 makefile 的构建方法?
cargo 1.34.0
于2019发布。 您尝试构建的项目在其
edition = "2021"
中指定了 Cargo.toml
。
因此我怀疑你的问题是你的 rust 工具链太旧了(难怪在 Debian 9 上)。考虑使用 rustup
来获取更新的 Rust 工具链, 或升级到较新版本的 Debian。