2012-12-08 7 views
9

私はこのようなpubspec.yamlファイルがあります:私はpub installを実行すると、私はこのエラーを取得するパッケージ 'unittest'は両方のソース 'sdk'と 'hosted'のどちらの意味ですか?

name: My App 
dependencies: 
    unittest: { sdk: unittest } 
    json_object: 
    git: 
     url: git://github.com/chrisbu/dartwatch-JsonObject.git 

(私はここでは例としてJsonObjectを使用しています)

を:

Package 'unittest' is depended on from both sources 'sdk' and 'hosted' 

これはどういう意味ですか、どうすれば解決できますか?

答えて

10

ダーツパッケージマネージャーのPubは、という名前のパッケージと、からのパッケージを識別します。 pubが同じ名前の2つのパッケージを検出したが、2つの異なるソースから来た場合は、 "パッケージfooは両方のソース 'sdk'と 'hosted'の両方に依存しています」

この問題を解決するには、すべての依存関係が同じソースを持つ同じパッケージを参照するようにします。

sdkソースを使用すると、すべてのパッケージがpub.dartlang.orgでホストされているため、適切な解決策はすべてのパッケージで使用できます。

あなたは変更する必要があります。この中へ

dependencies: 
    unittest: { sdk: test } 

dependencies: 
    unittest: any 

any手段

次のパッケージがパブに今ある "pub.dartlang.orgをから任意のバージョン" を、新しい標準ホーム:

  • 引数

webdriverを

  • unittestの
  • HTTP
  • 国際空港
  • ログ
  • メタ
  • のOAuth2
  • あなたは上記のパッケージのいずれかを使用している場合は、代わりにfoo: anyを使用してくださいあなたのpubspec.yamlファイルに{sdk: foo}があります。

    もちろん、開発者は自分のpubspec.yamlを更新できますが、サードパーティの依存関係を制御することはできません。 unittestのようなホストされたパッケージを使用して更新するように電子メール(pub.dartlang.orgから入手可能)でパッケージの著者に連絡することをお勧めします。

    続きを見るhttp://news.dartlang.org/2012/12/sdk-packages-now-available-on-pub.html

  • 関連する問題