gpt4 book ai didi

rust - 是否可以使用单个共享目录作为所有项目的 Cargo 目标目录?

转载 作者:行者123 更新时间:2023-11-29 08:19:43 26 4
gpt4 key购买 nike

Cargo 有 --target-dir 标志,它指定一个目录来存储临时或缓存的构建工件。您还可以在 ~/.cargo/config 文件中将其设置为用户范围。我想将它设置为单个共享目录,以便于维护。

我看到一些工件目录在 target-dir 中以一些独特的(?)散列作为后缀,这看起来很安全,但最终产品没有以散列作为后缀,这对于名称冲突似乎不安全。我不确定这一点,因为我不是 Cargo 方面的专家。

我尝试将 ~/.cargo/config 设置为

[build]
target-dir = "./.build"

我的初衷是使用项目的本地 ./.build 目录,但 Cargo 以某种方式将所有构建文件放入 ~/.build 目录。我很好奇如果将每个项目的所有构建文件都放入一个共享构建目录中会发生什么。

到目前为止,它在几个不同的项目中运行良好,但处理几个示例并不意味着它的设计或保证适用于所有情况。

在我的例子中,我为用户的所有工作区的所有项目使用单个共享构建目录。不仅是工作区中的项目。从字面上看,用户每个工作区中的每个项目。据我所知,Cargo 旨在与本地 target 目录一起使用。如果它设计为仅与本地目录一起使用,则共享构建目录可能会导致一些问题。

  • 使用rust/ cargo 1.38.0。

最佳答案

是的,这是为了安全。

我同意关于可能有更好的方法来实现您的目标的评论。 Workspaces是针对一小群 crate 的简单解决方案,sccache是一种比较有原则的缓存机制。

另见:

关于rust - 是否可以使用单个共享目录作为所有项目的 Cargo 目标目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58669482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com