Ответ 1
Практический ответ
Используйте груз. Он чрезвычайно прост в использовании и не позволяет вам стрелять себе в ногу с помощью управления версиями (и конфликтующими версиями).
потому что я интересовался языком, а не упаковкой.
С точки зрения 99,9% пользователей Rust, Cargo является частью языка или, по крайней мере, частью экосистемы Rust. В ящиках есть много вещей, которые вы можете ожидать в стандартной библиотеке других языков (отличный пример - генерация случайных чисел).
установить библиотеку в моей системе
В конечном счете, это не имеет смысла. Там нет единой верной версии библиотеки, которую вы можете установить. Каждая программа, которая использует ящик, может использовать свою версию, потому что у нее разные потребности. Более того, вы можете скомпилировать ящик по-разному для разных проектов - у ящиков есть функции, которые меняют способ их компиляции.
cargo install rand
На самом деле это способ использовать Cargo для создания всего проекта Rust, который предоставляет двоичный файл и установить его в вашей системе. Это имеет больше смысла, поскольку это отдельная, ограниченная сущность. К сожалению, это может сбивать с толку именно по этой причине!
Смотрите также:
Технически правильный ответ
Конечно вы можете; Вы просто должны сделать все, что Cargo делает для вас вручную. Это включает в себя
- Скачивание пакета.
- Это также означает любые зависимости пакета.
- И правильные версии.
- Скомпилируйте пакет.
- И зависимости.
- Поддержание дерева зависимостей и передача его каждому последующему пакету.
- Наконец, вы можете скомпилировать свой код.
Конкретный пример компиляции одной библиотеки и одного исполняемого файла с использованием этой библиотеки:
$ rustc --edition=2018 --crate-type=rlib --crate-name library_example src/lib.rs -o libmy_library.rlib
$ rustc --edition=2018 --extern library_example=libmy_library.rlib examples/main.rs