Можно ли использовать один общий каталог в качестве целевого каталога Cargo для всех проектов? - PullRequest
1 голос
/ 02 ноября 2019

Cargo имеет флаг --target-dir, который указывает каталог для хранения временных или кэшированных артефактов сборки. Вы также можете установить его для всего пользователя в файле ~/.cargo/config. Я хотел бы установить его в один общий каталог, чтобы упростить обслуживание.

Я видел, что к некоторым каталогам артефактов добавляется несколько уникальных (?) Хешей в target-dir, который выглядит безопасным, но конечные продуктыне содержит суффиксов, что, по-видимому, небезопасно для столкновений имен. Я не уверен в этом, так как я не эксперт по Cargo.

Я пытался установить ~/.cargo/config на

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

Первоначально я намеревался использовать локальный ./.build проектакаталог, но каким-то образом Cargo помещает все файлы сборки в каталог ~/.build. Мне стало любопытно, что произойдет, я поместил все файлы сборки из каждого проекта в один общий каталог сборки.

Пока он хорошо работал с несколькими различными проектами, но работа с несколькими примерами не означает, что он разработанили гарантированно работать с каждым делом.

В моем случае я использую единый общий каталог сборки для всех проектов всех рабочих областей пользователя . Не только проекты в рабочей области. Буквально каждый проект в каждом рабочем пространстве пользователя. Насколько я знаю, Cargo предназначен для работы с локальным каталогом target. Если он предназначен для работы только с локальным каталогом, общий каталог сборки может вызвать некоторые проблемы.

  • Ржавчина / Груз 1.38.0.

1 Ответ

0 голосов
/ 15 ноября 2019

Да, это должно быть безопасно.

Я согласен с комментариями о том, что, возможно, существуют лучшие методы для достижения вашей цели. Рабочие пространства - это простое решение для небольшой группы ящиков, а sccache - более принципиальный механизм кэширования.

См. Также:

...