1、在配置nginx代理vapor时,
vapor run
//等同于下面这句,但nginx配置的代理地址也必须是http://localhost:8080
vapor run --hostname=localhost --port=8080
// 同样,如果配置的是以ip开启的,
// 则nginx配置的代理地址也要 以ip的形式,也就是说localhost 不等同与127.0.0.1
2、如果vapor项目修改了相关的package.swift
的内容,需要用
swift package update
或者 删除xcode项目后重新生成xcode项目
vapor xcode
3、在更新了依赖库后运行swift package update
或vapor xcode
长时间一直卡着不动,可能是因为在Package.swift
里配置的依赖库版本过低,比如mysql配置成如下就会卡着不动:
let package = Package(
name: "Hello",
dependencies: [
.package(url: "https://github.com/vapor/vapor.git", from: "3.0.0"),
// 现在配mysql 2.0.0会卡着不动
.package(url: "https://github.com/vapor/fluent-mysql.git", from: "2.0.0"),
],
targets: [
.target(name: "App", dependencies: [
"Vapor",
"FluentPostgreSQL",
"FluentMySQL",
]),
.target(name: "Run", dependencies: ["App"]),
.testTarget(name: "AppTests", dependencies: ["App"])
]
)
只要改配成最新的3.0.1就可以了,至于最新版本的查看方式,可以在浏览器里输入配置的库的git地址,比如mysql的就是https://github.com/vapor/fluent-mysql.git
,然后查看tag,如下图

4、使用swift package update
更新成功后需要vapor xcode
下xcode里才有对应的库,之后把xcode退出,然后重新进入就可以了
5、使用新电脑更新到最新版本10.13.4时,从新安装vapor,其他步骤都没问题,但是在使用vapor xcode
命令时有如下提示:
Could not generate Xcode project: error: terminated(72): xcrun --sdk mac
解决办法:参考资料
sudo xcode-select -s /Applications/Xcode.app
6、在使用8.4及以上的mysql时,mysql账户的密码加密方式有两种,caching_sha2_password
和mysql_native_password
,vapor作为客户端远程连接mysql服务器只能使用caching_sha2_password
,而且使用时必须指定transport方式为MySQLTransportConfig.unverifiedTLS
let databaseConfig = MySQLDatabaseConfig(hostname: "127.0.0.1", port: 3306, username: "<user>", password: "<password>", database: "<db>", transport: MySQLTransportConfig.unverifiedTLS)
网友评论