Pub, menedżer pakietów strzałek, identyfikuje paczki o nazwie , a także skąd pochodzą. Jeśli pub wykryje dwa pakiety o tej samej nazwie, ale pochodzą z dwóch różnych źródeł, wyświetli komunikat o błędzie: "Pakiet foo jest zależny od obu źródeł" sdk "i" hostowanych ""
Aby rozwiązać ten problem, potrzebujesz aby zapewnić, że wszystkie zależności odnoszą się do tego samego pakietu z tym samym źródłem.
Właściwe rozwiązanie jest dla każdego pakietu, aby przestał używać źródeł sdk
, ponieważ wszystkie pakiety SDK są teraz hostowane w pub.dartlang.org.
należy zmienić:
dependencies:
unittest: { sdk: test }
do tego:
dependencies:
unittest: any
The any
oznacza "Każda wersja z pub.dartlang.org"
Następujące pakiety są teraz w pubie, ich nowy dom kanoniczny:
- args
- http
- Intl
- rejestrowanie
- meta
- OAuth2
- unittest
- webdriver
Jeśli używasz któregokolwiek z powyższych pakietów, należy użyć foo: any
zamiast z {sdk: foo}
w pliku pubspec.yaml.
Teraz, jako programista, możesz zaktualizować swój własny plik pubspec.yaml, ale możesz nie być w stanie kontrolować zależności z innymi firmami. Zalecam, abyś skontaktował się z autorem Twojego paczki za pośrednictwem poczty elektronicznej (którą możesz pobrać z pub.dartlang.org), prosząc ich o aktualizację do hostowanych pakietów, takich jak unittest.
Zobacz więcej na http://news.dartlang.org/2012/12/sdk-packages-now-available-on-pub.html