言うことができます:スウィフトパッケージマネージャー。エラー:名前が複数のパッケージが見つかりました...?
import PackageDescription
let package = Package(
name: "B",
products: [
.library(
name: "B",
targets: ["B"]),
],
dependencies: [
.package(url: "https://.../CommonLib", from: "1.0.0"),
],
targets: [
.target(
name: "B",
dependencies: ["CommonLib"]),
.testTarget(
name: "BTests",
dependencies: ["B"]),
]
)
アプリケーションの:ここで
Bは、アプリケーションがBに依存CommonLib
に依存ライブラリ あるとCommonLib
BのPackage.swiftですPackage.swift
import PackageDescription
let package = Package(
name: "App",
dependencies: [
.package(url: "https://.../CommonLib", from: "1.0.0"),
.package(url: "https://.../B", from: "1.0.0"),
],
targets: [
.target(
name: "App",
dependencies: ["CommonLib", "B"]),
.testTarget(
name: "AppTests",
dependencies: ["App"]),
]
)
swift build
error: Found multiple packages with the name CommonLib...
アプリケーションとBの両方がCommonLibに依存し、私はアプリの にBとCommonLibをインポートする場合は名前を持つ複数のパッケージの間違いがある場合
...
アップルスウィフトバージョン4.0.2(swiftlang-900.0.69.2打ち鳴らします-900.0.38) 対象:x86_64-apple-macosx10.9
誰でもこれを解決する方法を知っていますか?
ありがとう!私は大げさに言って、CommonLibに変更を加えるのは簡単で、コミットしてgitタグを更新するのを忘れてしまった。 2つの異なるバージョンで終了し、そのために...エラー名前の複数のパッケージが見つかりました... –
@ vadim-eisenberg私は同様の問題を抱えていますが、このデータがどのように解決するのに役立つか理解していません。あなたは詳細を教えていただけますか?私の場合、 '.bulid/dependencies-state.json'には、同じコミットを指し示す同じライブラリの2つのエントリがありますが、それぞれが' A-numbers1'と呼ばれる異なる 'subpath'値と、 1つは 'A.git-numbers2'です。両方とも、同じバージョンのライブラリを参照していますが。 – Zapko
@Zapkoこのデータは問題のヒントを得るためのものですが、私は正確なアルゴリズムを見ていません。あなたの依存パッケージの中には、あなたのAパッケージが別々に参照されているというのが問題だと思います。たとえば、ある依存関係では、git urlとhttps urlで参照されます。これはおそらくSwift Package Managerを混乱させるでしょう。 –