我的背景:
- macOS Catalina 版本 10.15.3
- Xcode 11.4
- 斯威夫特 5.2
- 蒸气4
我正在创建一个新的 Vapor 项目vapor-beta new myProjectName
它询问我是否要使用 Fluent,我同意 (y) 并询问我想要什么样的数据库(1. postgreSQL 2. MySql 3. SQLite)。我选择了选项 3;SQLite 是我需要的。
然后它继续下载模板并使用我上面选择的选项对其进行自定义。它停止/冻结在
Generating project files
+ Package.Swift
这条线之后没有任何反应,即使等待了 10 分钟。
当我查看我的应用程序文件夹时,有一个隐藏的 .vapor-template 文件夹,它似乎包含应用程序的文件夹结构。我不能简单地开始使用它,因为在某种程度上,许多文件似乎……未完成。例如,这是 Package.swift 的样子:
let package = Package(
name: "{{name}}",
platforms: [
.macOS(.v10_15)
],
dependencies: [
// A server-side Swift web framework.
.package(url: "https://github.com/vapor/vapor.git", from: "4.0.0-rc"){{#fluent}},
.package(url: "https://github.com/vapor/fluent.git", from: "4.0.0-rc"),
.package(url: "https://github.com/vapor/fluent-{{fluent.db.url}}-driver.git", from: "{{fluent.db.version}}-rc"){{/fluent}}
],
targets: [
.target(name: "App", dependencies: [{{#fluent}}
.product(name: "Fluent", package: "fluent"),
.product(name: "Fluent{{fluent.db.module}}Driver", package: "fluent-{{fluent.db.url}}-driver"),{{/fluent}}
.product(name: "Vapor", package: "vapor")
]),
.target(name: "Run", dependencies: ["App"]),
.testTarget(name: "AppTests", dependencies: [
.target(name: "App"),
.product(name: "XCTVapor", package: "vapor"),
])
]
)
正如你所看到的,项目的名称没有设置(我指的是那个name: "{{name}}"
东西),并且有很多奇怪的引用{{#fluent}}
或者"{{fluent.db.version}}-rc")
吓坏了编译器。看起来“vapor new”命令有更多的自定义工作要做,但它根本没有机会完成。同样的故事在 configure.swift 和 routes.swift 中重复。
我确实梳理了所有这些,删除了奇怪的占位符,只是碰到了一些 configure.swift 的情况,它抱怨 .sqlite 没有被识别或什么的。我确实在 google / stackoverflow 上查找了它,尝试了一些不起作用的修复程序......直到我退后一步才意识到地狱......我不应该做所有这些 SherlokHolmes-ing......“ vapor new”命令应该可以简单地工作并成功完成......之后我还有很多工作......这个简单的helloWorld-ish步骤应该很简单......
如果有人对成功创建 Vapor4 项目有一些见解,我将不胜感激......(只需遵循https://docs.vapor.codes/4.0/hello-world/ 上的步骤不利于工作项目)
LE:感谢 imike 的建议,我前往 Discord 上的 Vapor 社区并找到了我的解决方案。我的项目的文件夹路径恰好包含一些空格和破折号。删除那些允许该过程正确完成。伟大的,乐于助人的社区!