美文网首页
Vapor使用的坑

Vapor使用的坑

作者: 独孤流 | 来源:发表于2018-08-22 16:44 被阅读48次

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 updatevapor 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,如下图

image.png

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_passwordmysql_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)

相关文章

网友评论

      本文标题:Vapor使用的坑

      本文链接:https://www.haomeiwen.com/subject/yoasiftx.html