Spec-Zone.ru › Crystal

Команда shards

Crystal обычно поставляется вместе с Shards — менеджером зависимостей.

Он управляет зависимостями проектов и библиотек Crystal, обеспечивая воспроизводимую установку на разных компьютерах и системах.

Установка

Shards обычно распространяется вместе с Crystal. В качестве альтернативы для вашей системы может быть доступен отдельный пакет shards.

Чтобы установить из исходного кода, скачайте или клонируйте репозиторий и выполните make CRFLAGS=--release. Скомпилированный исполняемый файл находится в bin/shards и его следует добавить в PATH.

Использование

Для работы shards в папке проекта (рабочем каталоге) должен присутствовать файл shard.yml. В этом файле описан проект и перечислены зависимости, необходимые для его сборки. Файл со значениями по умолчанию можно создать, выполнив shards init. Содержимое файла описано в руководстве «Создание шарда», а подробное описание формата файла приведено в спецификации shard.yml.

Запуск shards install разрешает и устанавливает указанные зависимости. Установленные версии записываются в файл shard.lock, чтобы при повторном запуске shards install использовались те же версии зависимостей.

Если ваш шард собирает приложение, файлы shard.yml и shard.lock следует включить в систему контроля версий, чтобы обеспечить воспроизводимую установку зависимостей. Если это только библиотека, от которой зависят другие шарды, файл shard.lock не следует включать в систему контроля версий — только shard.yml. Рекомендуется добавить его в .gitignore (crystal init делает это автоматически при инициализации репозитория lib).

Команды Shards

shards [<options>...] [<command>]

Если команда не указана, по умолчанию будет выполнена install.

  • shards build: собирает исполняемый файл
  • shards check: проверяет, установлены ли зависимости
  • shards init: создаёт новый shard.yml
  • shards install: разрешает и устанавливает зависимости
  • shards list: выводит список установленных зависимостей
  • shards prune: удаляет неиспользуемые зависимости
  • shards update: разрешает зависимости и обновляет их
  • shards version: показывает версию шарда

Чтобы просмотреть доступные параметры конкретной команды, укажите --help после команды.

Общие параметры:

  • --version: выводит версию shards.
  • -h, --help: выводит краткую справку по использованию.
  • --no-color: отключает цветной вывод.
  • --production: запускает в режиме релиза. Зависимости для разработки не устанавливаются, устанавливаются только зафиксированные зависимости. Команды завершатся с ошибкой, если зависимости в shard.yml и shard.lock не синхронизированы (используется командами install, update, check и list).
  • -q, --quiet: уменьшает подробность журналов, выводя только предупреждения и ошибки.
  • -v, --verbose: увеличивает подробность журналов, выводя все отладочные сообщения.

shards build

shards build [<targets>] [<options>...]

Собирает указанные цели по пути bin. Если цели не указаны, собираются все. Эта команда проверяет, что все зависимости установлены, поэтому запускать shards install перед ней не требуется.

Все параметры, указанные после команды, передаются crystal build.

shards check

shards check

Проверяет, что все зависимости установлены и требования выполнены.

Код завершения:

  • 0: зависимости удовлетворяют требованиям.
  • 1: зависимости не удовлетворяют требованиям.

shards init

shards init

Инициализирует папку шарда и создаёт файл shard.yml.

shards install

shards install

Разрешает зависимости и устанавливает их в папку lib. Если файл shard.lock ещё не существует, создаёт его на основе разрешённых зависимостей, фиксируя номера версий или коммиты Git.

Если файл shard.lock существует, команда считывает зафиксированные версии и коммиты и обеспечивает их использование. Команда install может завершиться с ошибкой, если зафиксированная версия не соответствует требованию, но может выполниться успешно, если добавлена новая зависимость и она не создаёт конфликта; в этом случае будет создан новый файл shard.lock.

shards list

shards list

Выводит список установленных зависимостей и их версий.

shards prune

shards prune

Удаляет неиспользуемые зависимости из папки lib.

shards update

shards update

Повторно разрешает все зависимости и обновляет их в папке lib независимо от зафиксированных версий и коммитов в файле shard.lock. В итоге создаётся новый файл shard.lock.

shards version

shards version [<path>]

Выводит версию шарда.

To the extent possible under law, the persons who contributed to this workhave waived
all copyright and related or neighboring rights to this workby associating CC0 with it.
https://crystal-lang.org/reference/1.2/the_shards_command/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API