通过 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.2)。
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'
or:
$ wget -q -O - https://swift.org/keys/all-keys.asc | \
gpg --import -
验证 PGP 签名
如果 gpg
验证失败并报告"BAD signature",
请勿使用下载的工具链。
请发送邮件至 [email protected]
并提供尽可能详细的信息,以便我们调查问题。
Linux 的 .tar.gz
压缩包使用 Swift 开源项目的密钥之一
通过 GnuPG 进行签名。强烈建议所有人在使用软件之前验证签名。
首先,刷新密钥以下载新的密钥撤销证书(如果有):
$ 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 <[email protected]>"
如果由于没有公钥而导致 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 项目。