Vapor 不适用于 xcode 9 和 swift 4
Posted
技术标签:
【中文标题】Vapor 不适用于 xcode 9 和 swift 4【英文标题】:Vapor doesn't work with xcode 9 and swift 4 【发布时间】:2017-11-03 21:36:51 【问题描述】:当我尝试使用 Xcode 9 编译我新创建的 vapor 项目时,我得到 189 个编译错误。完成这项工作的诀窍是什么?我安装了 vapor 和工具箱,并通过 'vapor new test --template=api' 创建,然后通过 'vapor xcode' 启动它。
【问题讨论】:
部分已经迁移到 Vapor 2 + Swift4 的例子贴在github上Vapor Examples Lab。 【参考方案1】:Xcode 12 / Swift 5.3 更新
vapor
现在是homebrew/core
的一部分。来源:githubhomebrew-core/Formula/vapor.rb.
##### 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 vapor
Xcode 9 / Swift 4
检查所有内容是否都是最新的。目前为我构建并运行以下代码:
使用最新的蒸汽工具箱。
目前:
vapor new test --template=api
cd test
swift package tools-version
# 4.0.0
# use `swift package tools-version --set-current` if needed
rm Package.resolved
vapor update
vapor --version
# Vapor Toolbox: 3.1.2
# Vapor Framework: 2.3.0
注意,Vapor Framework:__
仅在终端工作目录pwd
指向一个汽化项目目录时显示。
如果需要...
brew tap --full vapor/homebrew-tap
brew update
brew upgrade
在某些情况下,可能需要删除并重新安装蒸汽工具箱。 (见"vapor toolbox broken after upgrading swift")
使用最新的 Xcode 版本。
当前:Xcode:9.1,Swift:4.0.2
swift --version
# Apple Swift version 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)
使用vapor update
或swift package update
vapor new test --template=api
cd test
rm Package.resolved
vapor update
或者,
vapor new test --template=api
cd test
rm Package.resolved
swift package update
swift package generate-xcodeproj
上面的更新、编译和在 Xcode 9.1 中对我来说运行正常。
注意:但是,大约有 44 条相同类型的新弃用警告。我第一次意识到 Xcode9.1/Swift4.0.2 的 characters
弃用。
'characters' 已弃用:请直接使用字符串或子字符串"
所以,新的弃用警告,但 0 个错误......而且,更重要的是,该项目作为 Vapor 2 + Swift 4 运行。
此外,请检查 Packages.resolved
版本与每个相应源存储库中可用的版本。在 github 上,Vapor 示例实验室:TemplateApiTest 存储库包含生成的 Packages.resolved
,并与上述工具链场景一起使用。
最后,再次检查目标是 macOS 上的 Run
,而不是此版本的基于 ARM 的 iOS。
【讨论】:
我有相同的工具箱版本,但我的版本命令不显示框架输出。我的 swift 版本和你的一样(注意你在那个命令副本中说的是蒸汽而不是 swift)。我仍然收到 193 个错误。swift package tools-version
返回没有这样的文件或目录包的错误。
好的,一切看起来都和你的一样。我的工具版本说 4.0.0。但是当我打开项目时,我得到了大量的 xcode 错误
这是 Crypto 的一个例子,它失败了。我的 openssl 来自 brew。 ld:警告:忽略文件 /usr/local/opt/openssl/lib/libssl.dylib,文件是为 x86_64 构建的,它不是被链接的体系结构(arm64):/usr/local/opt/openssl/lib/libssl。 dylib【参考方案2】:
如果使用 brew,请尝试“brew upgrade vapor”。如果您使用的是 apt,请尝试“sudo apt-get update”,然后尝试“sudo apt-get install vapor”。这对我有用。我想是因为我前段时间安装了 2.0,不能用 3.0 项目下沉。
【讨论】:
以上是关于Vapor 不适用于 xcode 9 和 swift 4的主要内容,如果未能解决你的问题,请参考以下文章