Описание тега flutter-dependencies

По вопросам, касающимся использования и проблем с любым использованием зависимостей, специфичных для флаттера, в dart pubspec.yaml

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

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

Вот пример указания зависимости:

dependencies:
  transmogrify: ^1.0.0

Этот код YAML создает зависимость от пакета transmogrify с использованием источника по умолчанию (pub.dev) и допускает любую версию от 1.0.0 до 2.0.0 (но не включая 2.0.0). Подробную информацию о синтаксисе см. В разделе ограничений версии на этой странице.

Если вы хотите указать источник, синтаксис выглядит немного иначе:

dependencies:
  transmogrify:
    hosted:
      name: transmogrify
      url: http://some-package-server.com
    version: ^1.0.0

Эта YAMLкод создает зависимость от пакета трансмогрификации с использованием размещенного источника. Все, что находится под ключом источника (здесь просто карта с url: key) - это описание, которое передается источнику. Каждый источник имеет свой собственный формат описания, который описан в разделе источников зависимостей на этой странице. Ограничение версии не является обязательным, но рекомендуется.

Используйте эту длинную форму, если вы не используете источник по умолчанию или если у вас есть сложное описание, которое нужно указать. Но в большинстве случаев вы просто воспользуетесь простымpackagename: форма версии.

Источники зависимости

Pub может использовать следующие источники для поиска пакетов:

SDK
Hosted packages
Git packages
Path packages