是否可以将 Cargo 依赖项安装在与我的项目相同的目录中?

Is it possible to install Cargo dependencies in the same directory as my project?

我正在 运行使用 Docker 构建我的 Rust 项目。它很快,但是当我添加外部依赖项时出现问题。由于 Docker 每次我 运行 "cargo run" 命令都会启动一个新的,然后它会再次从 Internet 获取外部依赖项。

虽然这与我遇到的 Docker 问题有关,但我不认为这仅限于 Docker,因为它可能是广泛设置的问题。无论 Docker 或其他任何东西,我正在寻找的东西都很简单:在 Rust 项目文件夹中安装依赖项,而不是像在 Node 包管理器中那样全局安装它。

依赖项已经在每个项目中构建;在 target 目录中。依赖项源代码缓存在您的用户目录 $HOME/.cargo.

如果您希望不使用用户范围的下载缓存,您可以指定CARGO_HOME环境变量并有一个单独的缓存:

CARGO_HOME=$PWD/cargo cargo build

当你将 npm 类比时,请注意 Cargo 的解决方案基本上就是 yarn 所做的——全局下载缓存和项目的特定依赖项被构建/链接到 node_modules 目录中。