Найти тему

Создайте свой частный пакет Flutter

Оглавление

Я не против open-source, позвольте мне объяснить!!!

                                                  Частный пакет Flutter
Частный пакет Flutter

Flutter - это инструментарий пользовательского интерфейса с открытым исходным кодом, и на pub.dev доступно большое количество открытых пакетов, что действительно облегчает жизнь разработчика. Однако иногда, в связи с требованиями организации и продукта, Вам приходится создавать частный пакет Flutter, который может содержать отдельный модуль приложения, бизнес-логику, алгоритмы шифрования, премиум-активы, конфиденциальные платежные шлюзы и т.д., которые Вы не хотели бы публиковать в открытом доступе.

Следовательно, может быть множество причин для того, чтобы создать частный пакет Flutter и не опубликовывать его на pub.dev. Для этого каждому разработчику Flutter важно знать "Как создать частный/неопубликованный пакет Flutter". Давайте погрузимся глубже и выясним, как это сделать!

Знаете ли вы?

После публикации пакета в pub.dev его нельзя снять с публикации или удалить.

Создание пакета Flutter

Чтобы создать пакет Flutter, откройте свой IDE и создайте новый проект Flutter.

                                          Создание нового проекта Flutter
Создание нового проекта Flutter

Единственным отличием является, что в графе Project type необходимо выбрать Package.

-3

В файле pubspec.yaml вашего пакета добавьте publish_to: none, чтобы предотвратить публикацию.

-4

Использование частного пакета Flutter в локальном каталоге

В своем основном проекте Flutter Вы можете обратиться к локальному каталогу пакета следующим образом:

-5

Однако это не лучший вариант, так как пакет размещается в Вашем локальном каталоге, и Ваши коллеги не смогут работать над ним. Идеальным вариантом было бы разместить его в частном git-репозитории.

Размещение частного пакета Flutter в частном Git-репозитории

Создайте частный git-репозиторий и разместите в нем исходный код вашего пакета.

                                       Создание частного репозитория
Создание частного репозитория
                  Перенесите исходный код пакета в частный репозиторий
Перенесите исходный код пакета в частный репозиторий

После этого можно начинать использовать этот пакет на git-хостинге вместо локального каталога.

               Скопируйте SSH URL частного репозитория
Скопируйте SSH URL частного репозитория

Скопируйте SSH URL репозитория и направьте его в ваш основной проект Flutter pubspec.yaml следующим образом:

-9

Почти готово, Вы успешно включили частный репозиторий пакетов в свой pubspec, но мы еще не подтвердили наш доступ к репозиторию. Если Вы запустите flutter pub get прямо сейчас, он выдаст следующую ошибку, что вполне логично:

fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
exit code: 128

Доступ к частному пакету flutter, размещенному на Git

Вам и каждому сотруднику, желающему использовать этот частный пакет, необходимо выполнить следующие действия, чтобы подтвердить свой доступ к приватному репозиторию. (Не забудьте сначала добавить его как соавтора ;p)

  • Откройте Git Bash и сгенерируйте SSH-ключ для электронной почты, используя эту команду:
ssh-keygen -t ed25519 -C "mail@gmail.com".

Нажмите Enter трижды, чтобы продолжить работу с настройками по умолчанию.

  • Запустите эту команду, чтобы убедиться, что SSH Agent запущен:
eval "$(ssh-agent -s)".
  • Добавьте ваш SSH-ключ в SSH Agent, выполнив эту команду:
ssh-add ~/.ssh/id_ed25519
  • Теперь выполните последнюю команду, чтобы скопировать Ваш открытый ключ SSH в буфер обмена.
clip < ~/.ssh/id_ed25519.pub

Теперь Ваш открытый SSH-ключ скопирован, просто вставьте его в свою учетную запись Github > Settings > SSH & Deploy Keys > New SSH Key

                          Добавление открытого SSH-ключа в аккаунт Github (1)
Добавление открытого SSH-ключа в аккаунт Github (1)
                        Добавление открытого SSH-ключа в аккаунт Github (2)
Добавление открытого SSH-ключа в аккаунт Github (2)
                        Добавление открытого SSH-ключа в аккаунт Github (3)
Добавление открытого SSH-ключа в аккаунт Github (3)

После добавления SSH-ключа попробуйте снова выполнить команду flutter pub get, и на этот раз она не должна дать сбой.

Если это не удалось, Вы можете выполнить эту команду, чтобы добавить GitHub в список известных хостов:

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

Вуаля! Готово! Спасибо, что читаете нас и следите за нами. Благодаря этой статье Вы знаете, как сделать приватные пакеты Flutter, доступ к которым есть только у Вас или ваших коллег.

Переведено на русский язык с сайта: https://medium.com/flutter-community/make-your-private-flutter-package-23a75ba899