Курс языка программирования Raku / Продвинутый уровень / Модули / Распространение модулей
Публикация с помощью fez
В предыдущей теме fez был представлен как способ
загрузки дистрибутива в экосистему Raku. Использовать fez
не обязательно — это не единственный способ публикации, — но это самый
распространённый выбор, и он умеет больше, чем просто загружать: он
также может создать каркас нового дистрибутива и управлять вашей учётной
записью автора. Установите его с помощью zef:
zef install fezСоздание дистрибутива
Вместо того чтобы вручную собирать META6.json и каталоги
lib/ и t/, можно позволить fez
создать их автоматически:
fez init My::Greetingfez init инициализирует новый дистрибутив для разработки
— директорию проекта с готовым META6.json и стандартной
структурой, — чтобы вы могли сразу приступить к написанию кода в
lib/ и тестов в t/, вместо того чтобы
самостоятельно готовить файл метаданных.
Регистрация и вход
Для публикации необходима учётная запись в экосистеме. Создать её
можно один раз командой fez register (она запросит имя
пользователя, email и пароль), а войти — командой
fez login, которая сохраняет ваш ключ, чтобы последующие
команды были авторизованы:
fez register
fez loginВаше имя пользователя имеет значение: в файле META6.json
дистрибутива должно быть поле auth со значением
zef:<username> — так экосистема определяет, что
загрузка действительно ваша.
Загрузка
Когда учётная запись настроена и дистрибутив готов,
fez upload упаковывает текущую директорию и отправляет
её:
fez uploadПосле этого любой может установить его по имени с помощью
zef install My::Greeting. Каждую версию можно загрузить
только один раз, поэтому не забудьте увеличить version в
META6.json перед публикацией обновления.
Другие полезные команды
Несколько дополнительных команд fez, которые могут
пригодиться:
fez review— проверить дистрибутив на возможные проблемы перед загрузкой;fez list— показать дистрибутивы, которые вы уже опубликовали;fez refresh— пересобратьMETA6.jsonпо файлам, находящимся на диске.
Все эти команды требуют установленного
fezи доступа к сети, а все, кромеinit, требуют учётной записи в экосистеме.
Навигация по курсу
← zef и экосистема | Файл META6 →
💪 Или перейдите сразу к упражнениям этого
раздела.