通过 Tarball 安装 Linux
通过 Tarball 安装
1. 安装所需依赖项
Amazon Linux 2
$ yum install \
binutils \
gcc \
git \
glibc-static \
gzip \
libbsd \
libcurl \
libedit \
libicu \
libsqlite \
libstdc++-static \
libuuid \
libxml2 \
tar \
tzdata
CentOS 7
$ yum install \
binutils \
gcc \
git \
glibc-static \
libbsd-devel \
libedit \
libedit-devel \
libicu-devel \
libstdc++-static \
pkg-config \
python2 \
sqlite
# __block conflicts with clang's __block qualifier
sed -i -e 's/\*__block/\*__libc_block/g' /usr/include/unistd.h
Debian 12
$ apt install \
binutils-gold \
gcc \
git \
libcurl4-openssl-dev \
libedit-dev \
libicu-dev \
libncurses-dev \
libpython3-dev \
libsqlite3-dev \
libxml2-dev \
pkg-config \
tzdata \
uuid-dev
Fedora 39
$ yum install \
binutils \
gcc \
git \
libcurl-devel \
libedit-devel \
libicu-devel \
libuuid-devel \
libxml2-devel \
python3-devel \
sqlite-devel \
unzip
Red Hat UBI 9
yum install \
git \
gcc-c++ \
libcurl-devel \
libedit-devel \
libuuid-devel \
libxml2-devel \
ncurses-devel \
python3-devel \
rsync \
sqlite-devel \
unzip \
zip
Ubuntu 24.04
$ apt-get install \
binutils \
git \
gnupg2 \
libc6-dev \
libcurl4-openssl-dev \
libedit2 \
libgcc-13-dev \
libncurses-dev \
libpython3-dev \
libsqlite3-0 \
libstdc++-13-dev \
libxml2-dev \
libz3-dev \
pkg-config \
tzdata \
unzip \
zlib1g-dev
Ubuntu 23.10
$ apt-get install \
binutils \
git \
gnupg2 \
libc6-dev \
libcurl4-openssl-dev \
libedit2 \
libgcc-11-dev \
libpython3-dev \
libsqlite3-0 \
libstdc++-11-dev \
libxml2-dev \
libz3-dev \
pkg-config \
python3-lldb-13 \
tzdata \
unzip \
zlib1g-dev
Ubuntu 22.04
$ apt-get install \
binutils \
git \
gnupg2 \
libc6-dev \
libcurl4-openssl-dev \
libedit2 \
libgcc-11-dev \
libpython3-dev \
libsqlite3-0 \
libstdc++-11-dev \
libxml2-dev \
libz3-dev \
pkg-config \
python3-lldb-13 \
tzdata \
unzip \
zlib1g-dev
Ubuntu 20.04
$ apt-get install \
binutils \
git \
gnupg2 \
libc6-dev \
libcurl4 \
libedit2 \
libgcc-9-dev \
libpython2.7 \
libsqlite3-0 \
libstdc++-9-dev \
libxml2 \
libz3-dev \
pkg-config \
tzdata \
uuid-dev \
zlib1g-dev
Ubuntu 18.04
$ apt-get install \
binutils \
git \
libc6-dev \
libcurl4 \
libedit2 \
libgcc-5-dev \
libpython2.7 \
libsqlite3-0 \
libstdc++-5-dev \
libxml2 \
pkg-config \
tzdata \
zlib1g-dev
2. 下载最新的二进制版本 (6.1)。
swift-<VERSION>-<PLATFORM>.tar.gz
文件是工具链本身。.sig
文件是数字签名。
3. 导入并验证 PGP 签名
如果您过去导入过密钥,请跳过此步骤。这不适用于验证。
导入 PGP 密钥详情
$ gpg --keyserver hkp://keyserver.ubuntu.com \
--recv-keys \
'A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561'\
'E813 C892 820A 6FA1 3755 B268 F167 DF1A CF9C E069'
或
$ wget -q -O - https://swiftlang.cn/keys/all-keys.asc | \
gpg --import -
验证 PGP 签名
如果 gpg
验证失败并报告“BAD signature”,请不要使用下载的工具链。相反,请发送电子邮件至 swift-infrastructure@forums.swift.org,并尽可能详细地描述问题,以便我们调查问题。
Linux 的 .tar.gz
归档文件使用 GnuPG 和 Swift 开源项目的密钥之一进行签名。强烈建议所有人在使用该软件之前验证签名。
首先,刷新密钥以下载新的密钥吊销证书(如果有)。
$ gpg --keyserver hkp://keyserver.ubuntu.com --refresh-keys Swift
然后,使用签名文件验证归档文件是否完整
$ gpg --verify swift-<VERSION>-<PLATFORM>.tar.gz.sig
...
gpg: Good signature from "Swift Automatic Signing Key #4 <swift-infrastructure@forums.swift.org>"
如果 gpg
因为您没有公钥而验证失败(gpg: Can't check signature: No public key
),请按照下面 活动签名密钥 中的说明将密钥导入到您的密钥环中。
您可能会看到警告
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
此警告意味着在此密钥和您之间,信任网络中没有路径。只要您按照上述步骤从受信任的来源检索密钥,此警告就是无害的。
4. 使用以下命令解压归档文件
$ tar xzf swift-<VERSION>-<PLATFORM>.tar.gz
这将在归档文件的位置创建一个 usr/
目录。
5. 如下所示将 Swift 工具链添加到您的路径中
$ export PATH=/path/to/usr/bin:"${PATH}"
您现在可以执行 swift repl
命令来运行 REPL,或者执行 swift build
来构建 Swift 软件包。