7

ターゲットの依存関係を含めようとすると、次のエラーが発生します。The manifest describes a target that cannot be found in your source tree: parser

ここに私の Package.swift ファイルがあります:

import PackageDescription

let package = Package(
    name: "Phoenix",
          targets: [
            Target(
                name: "Phoenix",
                dependencies: [.Target(name: "parser")]),
            Target(
                name: "parser")
    ]
)

ここで説明されている形式に従っています: https://github.com/apple/swift-package-manager/blob/master/Documentation/Package.swift.md

4

3 に答える 3

6

parserディレクトリはありますか?

次のようなレイアウトが必要です。

     .
     └── Sources
         └── Phoenix
         │   └── File1.swift
         └── parser
             └── File2.swift

または:

     .
     └── Phoenix
     │   └── File1.swift
     └── parser
         └── File2.swift

これは SwiftPM に 2 つのモジュールを作成するように指示します。1 つは Phoenix と呼ばれ、もう 1 つは "parser" と呼ばれます。

于 2015-12-17T00:32:21.733 に答える
3

あなたはどちらも正しいですが、私の実際の問題は、サブディレクトリに迅速なコードが含まれていなかったため、モジュールが生成されなかったことです

于 2015-12-18T21:25:37.750 に答える
0

リンク先の Swift Package Manager のドキュメントにはThe targets are named how your subdirectories are named.、ターゲットparserが見つからない場合、おそらくparserPackage.swiftファイルが配置されているディレクトリに名前の付いたサブディレクトリがありません。

コンテンツと比較できるように、ディレクトリ構造を明確にする必要がありますPackage.swift

編集

マックスは良い例を提供しました。「ソース」ディレクトリは、「ソース」、「src」、または「srcs」でもあることに注意してください。

于 2015-12-15T04:48:20.063 に答える