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

Swift服务端开发系列完整版

Swift服务端开发系列:(四)Ubuntu部署Swift服务端_第1张图片
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引用的坑

github开源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服务端)