Vapor-Swift语言服务器端学习一、安装swift环境

1.本机

主机:mac
系统:macOS Ventura 13.2.1
语言:Swift version 5.7.2(swiftlang-5.7.2.135.5 clang-1400.0.29.51)

由于macOS 开发工具XCode内置Swift,无需再次安装,
只需设置环境变量 export TOOLCHAINS=swift

2.云主机

主机:腾讯云
系统:Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-67-generic x86_64)
语言:Swift version 5.7.3 (swift-5.7.3-RELEASE)

注意:在安装Swift工具链之前,最好先更新主机资源库

# ssh连接主机(腾讯云默认linux为ubuntu账户)
ssh ubuntu@xxx.xxx.xxx.xxx
# 更新apt资源库
sudo apt update
sudo apt upgrade

前往swift官网,寻找心仪的swift版本,我本次选择的版本为5.7.3-release(符合安装平台Ubuntu 22.04,根据vapor toolox dockerfile描述,选择5.7.3)。
根据文档描述,该版本Ubuntu 22.04包含两个架构x86_64合aarch64,根据云主机架构,我选择x86_64。
根据下载文档中Using Downloads——>Linux描述,开始下载安装swift环境。

# 安装依赖包(请严格按照官方文档执行,此处仅参考)
sudo apt-get install binutils git gnupg2 libc6-dev libcurl4-openssl-dev libedit2 libgcc-9-dev libpython3.8 libsqlite3-0 libstdc++-9-dev libxml2-dev libz3-dev pkg-config tzdata unzip zlib1g-dev
# 创建一个安装目录
mkdir swift
cd swift
# 下载资源文件swift-<VERSION>-<PLATFORM>.tar.gz
sudo wget https://download.swift.org/swift-5.7.3-release/ubuntu2204/swift-5.7.3-RELEASE/swift-5.7.3-RELEASE-ubuntu22.04.tar.gz
# 下载签名文件swift-<VERSION>-<PLATFORM>.tar.gz.sig
sudo wget https://download.swift.org/swift-5.7.3-release/ubuntu2204/swift-5.7.3-RELEASE/swift-5.7.3-RELEASE-ubuntu22.04.tar.gz.sig
# 如果是首次安装,需要把pgp秘钥导入钥匙串(请严格按照官方文档执行,此处仅参考)
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys \
      '7463 A81A 4B2E EA1B 551F  FBCF D441 C977 412B 37AD' \
      '1BE1 E29A 084C B305 F397  D62A 9F59 7F4D 21A5 6D5F' \
      'A3BA FD35 56A5 9079 C068  94BD 63BC 1CFE 91D3 06C6' \
      '5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235' \
      '8513 444E 2DA3 6B7C 1659  AF4D 7638 F1FB 2B2B 08C4' \
      'A62A E125 BBBF BB96 A6E0  42EC 925C C1CC ED3D 1561' \
      '8A74 9566 2C3C D4AE 18D9  5637 FAF6 989E 1BC1 6FEA' \
      'E813 C892 820A 6FA1 3755  B268 F167 DF1A CF9C E069'
# 验证签名——刷新秘钥
gpg --keyserver hkp://keyserver.ubuntu.com --refresh-keys Swift
# 验证签名文档swift-<VERSION>-<PLATFORM>.tar.gz.sig
gpg --verify swift-5.7.3-RELEASE-ubuntu22.04.tar.gz.sig
# 解压资源 swift-<VERSION>-<PLATFORM>.tar.gz
tar xzf swift-5.7.3-RELEASE-ubuntu22.04.tar.gz
# 此时可发现当前位置多了一个swift-5.7.3-RELEASE-ubuntu22.04的目录,此目录中就是swift命令目录。删除已下载的压缩文本(可以不删除)
sudo rm swift-5.7.3-RELEASE-ubuntu22.04.tar.gz.sig
sudo rm swift-5.7.3-RELEASE-ubuntu22.04.tar.gz
#将swift命令目录移动到usr/share/swift中(可以不移动,如果想要移动,请注意目录路径,需根据主机的实际情况输入)
sudo mv /home/ubuntu/swift/swift-5.7.3-RELEASE-ubuntu22.04 /usr/share/swift
# 将swift命令加入PATH环境变量
export PATH=/usr/share/swift/usr/bin:"${PATH}"
# 云主机将指令加入启动文本
echo "export PATH=/usr/share/swift/usr/bin:$PATH" >> ~/.bashrc

至此,swift toolchains已安装完毕,在命令行中输入执行swift,显示如下结果:

Welcome to Swift!

Subcommands:

  swift build      Build Swift packages
  swift package    Create and work on packages
  swift run        Run a program from a package
  swift test       Run package tests
  swift repl       Experiment with Swift code interactively

  Use `swift --help` for descriptions of available options and flags.

  Use `swift help <subcommand>` for more information about a subcommand.

输入swift --version,则输出如下结果:

Swift version 5.7.3 (swift-5.7.3-RELEASE)
Target: x86_64-unknown-linux-gnu
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容