终端蒸汽更新正在使用不再支持的 Swift 工具版本 3.1.0;改用 4.0.0 或更新版本\n",输出:

ask*_*kit 6 swift vapor leaf

我在做教程时遇到了这个错误。我无法解决问题。因此,我删除了该项目并创建了一个新的简单项目来找出问题,但仍然存在相同的问题。我正在发布相关代码 -

package.swift 代码 -

// swift-tools-version:4.0
import PackageDescription

let package = Package(
name: "dep",
products: [
    .library(name: "dep", targets: ["App"]),
],
dependencies: [
    //  A server-side Swift web framework.
    .package(url: "https://github.com/vapor/vapor.git", from: "3.0.0"),

    //  Swift ORM (queries, models, relations, etc) built on SQLite      3.
    .package(url: "https://github.com/vapor/fluent-sqlite.git", from: "3.0.0"),
        .package(url: "https://github.com/vapor/leaf.git", from: "3.0.0"),

],
targets: [
    .target(name: "App", dependencies: ["Leaf","FluentSQLite", "Vapor"]),
    .target(name: "Run", dependencies: ["App"]),
    .testTarget(name: "AppTests", dependencies: ["App"])
]
Run Code Online (Sandbox Code Playgroud)

)

当我在终端中执行“vapor build”并按回车键时,终端显示错误 - “”/Users/apple/dep: error: package at \'/Users/apple/dep\' 正在使用 Swift 工具版本 3.1.0不再支持;改用 4.0.0 或更新版本\n",输出:"")"

我已经完成了诸如清理构建文件夹、清理派生数据等通常的工作。现在,我接下来应该做什么。如果您需要任何进一步的信息,我可以发布代码或屏幕截图。

l -*_*c l 6

一个有点详细的清单将是……

  1. 检查 Swift 版本。然后,如果需要,请为 macOS 上最近发布的 Swift 版本更新 Xcode。在 Xcode > Preferences > Locations > Command Line Tools 中,确认Command Line Tools:指向当前工具链版本。Xcode 11.3 (11C29) 提供 Swift 5.1。
swift --version
# Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
# Target: x86_64-apple-darwin18.7.0
Run Code Online (Sandbox Code Playgroud)
  1. 如果需要,请更新并升级brew到最新版本。(或者,如果尚未安装 Homebrew 包管理器,请参阅https://brew.sh/。)
brew --version
# Homebrew 2.2.2
# Homebrew/homebrew-core (git revision dc049; last commit 2019-12-28)

brew update
brew upgrade # Note: upgrade all brew installed formulas.
#brew upgrade FORMULA # use only update one formula
Run Code Online (Sandbox Code Playgroud)
  1. 检查vapor/tap水龙头。或者,可以卸下并重新安装水龙头。
brew tap  # list existing taps
# homebrew/core
# vapor/tap

brew untap vapor/tap
# Untapping vapor/tap...
# Untapped 7 formulae (148 files, 69.8KB).

brew tap --full vapor/tap
Run Code Online (Sandbox Code Playgroud)
  1. 现在,随着地方的先决条件,安装(或重新安装)3蒸气vapor通过brew。Vapor 4 betavapor-beta有一个github 问题。
# if vapor has not been installed, then `install`
brew install vapor            # Vapor 3
brew install vapor/tap/vapor  # same as above. path specified formula.
#brew install vapor-beta # Vapor 4 Beta

# if vapor is already installed, the `reinstall`
brew reinstall vapor
Run Code Online (Sandbox Code Playgroud)
  1. 核实。
swift --version
# Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
# Target: x86_64-apple-darwin18.7.0

vapor --version
# Vapor Toolbox: 3.1.10 .... wait, what?

brew info vapor
# vapor/tap/vapor: stable 3.1.12
# https://vapor.codes
# /usr/local/Cellar/vapor/3.1.12 (6 files, 17.8MB) *
#  Built from source on 2019-12-28 at 12:46:27
# From: https://github.com/vapor/homebrew-tap/blob/master/vapor.rb

# try 
vapor new SomeProjectName --template=api # or, --template=web
cd SomeProjectName
vapor build
# No .build folder, fetch may take a while...
# Fetching Dependencies [Done]
# Building Project [Done]
Run Code Online (Sandbox Code Playgroud)

哦,Vapor Toolbox 3.1.12 号称是“3.1.10”。请参阅 GitHub 问题https://github.com/vapor/toolbox/issues/292。

  1. 生成 Xcode 项目
# still in SomeProjectName terminal working directory
vapor xcode
Run Code Online (Sandbox Code Playgroud)


ask*_*kit 6

除了 l-marc-l 发布的答案之外,我必须尝试的第一步是删除“// swift-tools-version:4.0”行上方的空行,即 package.swift 中的第一行,它可以轻松解决了我的问题。如果这不能解决问题,那么我会执行 l --marc l 提到的步骤。