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

Oma*_*bid 5 dependencies rust rust-cargo

我正在使用Docker运行Rust项目。它很快,但是当我添加一个外部依赖项时就出现了问题。由于Docker每次我运行“ cargo run”命令时都会启动一个新的容器,因此它会再次从Internet获取外部依赖关系。

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

She*_*ter 6

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

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

CARGO_HOME=$PWD/cargo cargo build
Run Code Online (Sandbox Code Playgroud)

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