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 创建两个模块,一个称为 Phoenix,一个称为“parser”。

于 2015-12-17T00:32:21.733 回答
3

虽然你们都是对的,但我的实际问题是我的子目录没有包含任何快速代码,因此没有生成模块

于 2015-12-18T21:25:37.750 回答
0

您链接到的 Swift 包管理器文档指出The targets are named how your subdirectories are named.如果parser找不到目标,可能是您的文件parser所在目录中没有名为的子目录Package.swift

您应该澄清您的目录结构,以便可以将其与您的Package.swift内容进行比较。

编辑

Max 提供了一个很好的例子。请注意,“Sources”目录也可以是“Source”、“src”或“srcs”

于 2015-12-15T04:48:20.063 回答