/src: error: could not find source files for target(s): MyKituraAppTests; use the 'path' property in the Swift 4 manifest to set a custom target path
/src: error: could not find source files for target(s): MyKituraAppTests; use the 'path' property in the Swift 4 manifest to set a custom target path
我正在尝试使用 swift build
进行编译
Package.swift
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
// swift-tools-version:x.x
import PackageDescription
let package = Package(
name: "MyKituraApp",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura", from: "2.7.0")
],
targets: [
.target(
name: "MyKituraApp",
dependencies: ["Kitura"],
path: "Sources"),
.testTarget(
name: "MyKituraAppTests",
dependencies: ["MyKituraApp"],
path: "Test")
]
)
但是,尽管我确实添加了路径 属性.
,但还是出现了以下错误
'MyKituraApp' /src: error: could not find source files for target(s): MyKituraAppTests; use the 'path' property in the Swift 4 manifest to set a custom target path
在不了解你的项目结构的情况下,我无法给你一个明确的答案,但我会尽力而为!
我假设您已经使用 Swift 包管理器工具生成了项目,如下所示:
swift package init --type executable
所以...通常您不需要设置 path
属性 除非您已将应用程序的测试移动到另一个目录。默认情况下,Swift 包管理器将创建一个 Tests
目录,当您不为 path
属性 提供值时,Swift 包管理器将当你 运行 swift build
时默认寻找 Tests
目录。在您的 path
属性 中,您提供的值是 Test
而不是 Tests
所以我的第一个测试解决方案是:
从 .testTarget
部分删除 path
属性
或
将 path
属性值重命名为 Tests
而不是 Test
。
我提供了一个示例 Package.swift,我可以 运行 swift build
使用:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "MyKituraApp",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura", from: "2.7.0")
],
targets: [
.target(
name: "MyKituraApp",
dependencies: ["Kitura"],
path: "Sources"),
.testTarget(
name: "MyKituraAppTests",
dependencies: ["MyKituraApp"])
]
)
如您所见,我还从文件顶部删除了额外的一行:
// swift-tools-version:x.x
您已经在文件的顶部提供了一个 swift-tools-version
,这一行可能会在以后造成混淆。
希望对您有所帮助!
我正在尝试使用 swift build
Package.swift
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
// swift-tools-version:x.x
import PackageDescription
let package = Package(
name: "MyKituraApp",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura", from: "2.7.0")
],
targets: [
.target(
name: "MyKituraApp",
dependencies: ["Kitura"],
path: "Sources"),
.testTarget(
name: "MyKituraAppTests",
dependencies: ["MyKituraApp"],
path: "Test")
]
)
但是,尽管我确实添加了路径 属性.
,但还是出现了以下错误'MyKituraApp' /src: error: could not find source files for target(s): MyKituraAppTests; use the 'path' property in the Swift 4 manifest to set a custom target path
在不了解你的项目结构的情况下,我无法给你一个明确的答案,但我会尽力而为!
我假设您已经使用 Swift 包管理器工具生成了项目,如下所示:
swift package init --type executable
所以...通常您不需要设置 path
属性 除非您已将应用程序的测试移动到另一个目录。默认情况下,Swift 包管理器将创建一个 Tests
目录,当您不为 path
属性 提供值时,Swift 包管理器将当你 运行 swift build
时默认寻找 Tests
目录。在您的 path
属性 中,您提供的值是 Test
而不是 Tests
所以我的第一个测试解决方案是:
从 .testTarget
部分删除 path
属性
或
将 path
属性值重命名为 Tests
而不是 Test
。
我提供了一个示例 Package.swift,我可以 运行 swift build
使用:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "MyKituraApp",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura", from: "2.7.0")
],
targets: [
.target(
name: "MyKituraApp",
dependencies: ["Kitura"],
path: "Sources"),
.testTarget(
name: "MyKituraAppTests",
dependencies: ["MyKituraApp"])
]
)
如您所见,我还从文件顶部删除了额外的一行:
// swift-tools-version:x.x
您已经在文件的顶部提供了一个 swift-tools-version
,这一行可能会在以后造成混淆。
希望对您有所帮助!