2013-06-06 6 views
1

Я пишу 4 библиотеки dart A, B, C и D, и они все на ранней стадии разработки, поэтому я не хочу публиковать их в пабе.ссылки на локальные библиотеки dart

Это также случай, когда только A, B и C являются публичными библиотеками, все из которых зависят от D, которые должны быть частными только для этих трех библиотек. Как мне управлять такой ситуацией?

Могу ли я использовать паб для установки библиотеки D для A, B и C на моей локальной машине разработки, пока она не опубликована? и как я могу опубликовать A, B и C, когда они будут завершены без публикации D, поскольку D не особенно полезен, если он не используется A, B или C?

Я прочитал документацию getting started guide и package structure, но ни одна из них, похоже, не охватывала этот тип ситуации, то есть как управлять частными библиотеками. Существует также вопрос this SO, но пользователь не ответил на него после решения проблемы.

ответ

5

По умолчанию зависимости разрешены к Pub, но вы можете переопределить их для импорта пакетов из URL-адресов, git и локального пути.

Например, следующий синтаксис для импорта локального пакета:

dependencies: 
    transmogrify: 
    path: /Users/me/transmogrify 

Смотрите Pub Dependencies для получения дополнительной информации.

Что касается другой части вашего вопроса, я не вижу, как логически A, B и C могут быть публичными пакетами и полагаться на частный пакет. Я бы опубликовал все пакеты и просто включил в описание D, который не предназначен как отдельный пакет, и предназначен только для вспомогательного пакета для A, B и C.

Вы также можете опубликовать A, B , и C в Pub и хост D на github или общедоступный URL-адрес и укажите соответствующую зависимость URL-адреса в pubspec для A, B и C (см. ссылку выше для правильного синтаксиса). Это может сделать дифференциацию между D и другими библиотеками немного более четкой, хотя на практике все они будут все еще доступны для публичного доступа.

+0

Для таких людей, как я, которые используют графический интерфейс редактора для редактирования pubspec.yaml, это раскрывающийся список «Источник» в разделе «Сведения о зависимости». Добавьте зависимость, выберите «Путь», введите путь, сохраните. – MarioP

Смежные вопросы