我已经安装了最新版本的Xcode 9,并且已经用brew重新安装了几次,但是每当我试图构建/运行/更新项目时,我仍然会收到以下错误。
下面是我的工作
1.) Vapor Toolbox: 3.1.2
2.) Apple Swift version 4.0 (swiftlang-900.0.43 clang-900.0.22.8)
Target: x86_64-apple-macosx10.9
3.) Xcode 9.0
Build version 9M136hError: Could not generate Xcode project: error: manifest parse error(s):
/var/folder/60/n3ldjzgs5vsg06v17_1yy44h0000gn/T/TemporaryFile.VwrbJo.swift:41:5
: error: argument 'targets' must preceed argument 'dependencies'
targets" [
^
error: The product dependency 'Vapor' was not found.
error: The product dependency 'FluentProvider' was not found.
error: The product dependency 'Testing' was not found.这是我的Package.swift文件。看看我最初的错误,我确实尝试了切换文件中“目标”和“依赖关系”的顺序。这没有解决任何问题,并产生了以下错误消息:error: argument 'dependencies' must precede argument 'targets'
Package.swift
let package = Package(
name: "test",
products: [
.library(name: "App", targets: ["App"]),
.executable(name: "Run", targets: ["Run"])
],
dependencies: [
.package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "2.1.0")),
.package(url: "https://github.com/vapor/fluent-provider.git", .upToNextMajor(from: "1.2.0")),
],
targets: [
.target(
name: "App",
dependencies: ["Vapor", "FluentProvider"],
exclude: [
"Config",
"Public",
"Resources",
]
),
.target(name: "Run", dependencies: ["App"]),
.testTarget(name: "AppTests", dependencies: ["App", "Testing"])
]
)发布于 2017-11-15 00:33:52
Xcode 12 /SWIFT5.3更新
vapor现在是homebrew/core的一部分。资料来源: github 自制-核心/公式/蒸气.。
##### If applicable, remove the obsolete 'vapor/tap' #####
## List current taps:
brew tap
# homebrew/core
# vapor/tap
## Remove tap:
brew untap vapor/tap
#### Install current version of vapor #####
brew install vapor
brew upgrade vaporXcode 9/ Swift 4
Packages.swift中的第一行是// swift-tools-version:4.0。如果没有swift-tools-version行,Packages.swift可以作为快速工具-version 3进行处理,这将导致错误。cd _PROJECT_PATH_
swift package tools-version
# if not 4.0.0, then …
swift package tools-version --set-current下面是一个例子,Package.swift。有关其他信息,请参阅Swift软件包管理器清单API重新设计和快速包管理器使用文档。
// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift
// required to build this package.
// Syntax: '// swift-tools-version:<specifier>' on the 1st line
import PackageDescription
let package = Package(
name: "test",
products: [
.library(name: "App", targets: ["App"]),
.executable(name: "Run", targets: ["Run"])
],
dependencies: [
.package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "2.3.0")),
.package(url: "https://github.com/vapor/fluent-provider.git", .upToNextMajor(from: "1.3.0")),
],
targets: [
.target(
name: "App",
dependencies: ["Vapor", "FluentProvider"],
exclude: [
"Config",
"Public",
"Resources",
]
),
.target(name: "Run", dependencies: ["App"]),
.testTarget(name: "AppTests", dependencies: ["App", "Testing"])
]
)cd _PROJECT_PATH_
swift package tools-version
# should be 4.0.0
vapor clean
vapor update
vapor --version
# Vapor Toolbox: 3.1.2
# Vapor Framework: 2.3.0StackOverflow 这里上有更多关于使用Xcode 9和Swift 4与Vapor 2的注释。
GitHub存储库蒸气示例实验室有几个已迁移到Vapor 2和Swift 4的示例项目。
https://stackoverflow.com/questions/47243815
复制相似问题