美文网首页iOS进阶高级Swift 服务端Swift服务端开发
Swift服务端开发系列:(四)Ubuntu部署Swift服务端

Swift服务端开发系列:(四)Ubuntu部署Swift服务端

作者: 择势量投 | 来源:发表于2019-12-23 16:52 被阅读0次

    Swift服务端开发系列完整版

    swift服务端开发系列

    一、拉取git仓库

    1、初始化配置git

    git init
    

    2、配置缓存密码

    git 默认缓存密码15分钟:

    git config --global credential.helper cache
    

    设置 git 默认的密码缓存时限,命令:

    # 设置缓存时限为 1 小时(以秒为单位进行设置)
    git config --global credential.helper 'cache --timeout=3600'
    

    二、拉取远端仓库代码

    1、clone 远端项目

    git clone https://e.coding.net/*******/AimTrendServerSide.git
    

    输入账号和密码(略过),输入密码前记得切换输入法到英文输入法。

    进入到项目所在目录

    cd AimTrendServerSide/
    

    2、vapor拉取依赖库

    查看 vapor 操作命令

    vapor --help
    

    vapor主要的操作指令

    Commands:
           new Creates a new Vapor application from a template.
               Use --template=repo/template for github templates
               Use --template=full-url-here.git for non github templates
               Use --web to create a new web app
               Use --auth to create a new authenticated API app
               Use --api (default) to create a new API
         build Compiles the application.
           run Runs the compiled application.
         fetch Fetches the application's dependencies.
        update Updates your dependencies.
         clean Cleans temporary files--usually fixes
               a plethora of bizarre build errors.
          test Runs the application's tests.
         xcode Generates an Xcode project for development.
               Additionally links commonly used libraries.
       version Displays Vapor CLI version
         cloud Commands for interacting with Vapor Cloud.
        heroku Commands to help deploy to Heroku.
      provider Commands to help manage providers.
    

    建议,先用 clean 命令清除不必要的缓存数据

    vapor clean
    

    拉取依赖库

    vapor fetch
    

    升级依赖库,更新到最新库

    vapor update
    

    三、运行swift项目

    1、编译项目

    swift build 
    

    2、运行项目

    swift run
    

    四、遇到问题

    1、Foundation 引用的坑

    为了支持跨平台和不必要的引用,苹果将Foundation库进行了拆分,将 Runtime、URLSession、Formatters、Predicates、XML、Collections、RunLoop、String、Number、DateTime、Model、Notifications、UserDefaults等相关的功能拆分出来,放在了一个新库FoundationNetworking中。

    对于在linux 系统上编译找不到URLSession、String的问题,需要引入 FoundationNetworking,标准写法如下:

    import Foundation
    #if canImport(FoundationNetworking)
    import FoundationNetworking
    #endif
    

    注意:苹果已将 FoundationNetworking 库源码打包到ubuntu对应的二进制包中,不需要额外导入。

    推荐阅读:Swift服务端开发系列完整版

    相关文章

      网友评论

        本文标题:Swift服务端开发系列:(四)Ubuntu部署Swift服务端

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