在 macOS 13 (Ventura) 和 macOS 14 (Sonoma) 上构建并运行 Redis 开源版
Redis 开源版 |
---|
按照以下步骤在运行 macOS 13 (Ventura) 和 macOS 14 (Sonoma) 的系统上从源代码构建并运行 Redis 开源版。
1. 安装 Homebrew
如果尚未安装 Homebrew,请按照 Homebrew 主页上的安装说明进行操作。
2. 安装必需的软件包
export HOMEBREW_NO_AUTO_UPDATE=1
brew update
brew install coreutils
brew install make
brew install openssl
brew install llvm@18
brew install cmake
brew install gnu-sed
brew install automake
brew install libtool
brew install wget
3. 安装 Rust
构建 JSON 软件包需要 Rust。
RUST_INSTALLER=rust-1.80.1-$(if [ "$(uname -m)" = "arm64" ]; then echo "aarch64"; else echo "x86_64"; fi)-apple-darwin
wget --quiet -O ${RUST_INSTALLER}.tar.xz https://static.rust-lang.org/dist/${RUST_INSTALLER}.tar.xz
tar -xf ${RUST_INSTALLER}.tar.xz
(cd ${RUST_INSTALLER} && sudo ./install.sh)
4. 下载并解压 Redis 源代码
Redis 源代码可从Redis GitHub 网站获取。选择您要构建的版本,然后从 Assets 下拉菜单中选择 .tar.gz 文件。您可以通过对照 redis-hashes GitHub 仓库中的摘要来验证这些下载文件的完整性。
为源代码创建一个目录,例如 ~/src
。
mkdir ~/src
将 tar(1) 文件复制到 ~/src
。
另外,您也可以使用 wget
命令直接下载文件,如下所示。
cd ~/src
wget -O redis-<version>.tar.gz https://github.com/redis/redis/archive/refs/tags/<version>.tar.gz
将 <version>
替换为 Redis 发布版本的三位数版本号,例如 8.0.0
。
解压源代码
tar xvf redis-<version>.tar.gz
rm redis-<version>.tar.gz
5. 构建 Redis
cd ~/src/redis-<version>
export HOMEBREW_PREFIX="$(brew --prefix)"
export BUILD_WITH_MODULES=yes
export BUILD_TLS=yes
export DISABLE_WERRORS=yes
PATH="$HOMEBREW_PREFIX/opt/libtool/libexec/gnubin:$HOMEBREW_PREFIX/opt/llvm@18/bin:$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$HOMEBREW_PREFIX/opt/gnu-sed/libexec/gnubin:$HOMEBREW_PREFIX/opt/coreutils/libexec/gnubin:$PATH"
export LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm@18/lib"
export CPPFLAGS="-I$HOMEBREW_PREFIX/opt/llvm@18/include"
mkdir -p build_dir/etc
make -C redis-8.0 -j "$(nproc)" all OS=macos
make -C redis-8.0 install PREFIX=$(pwd)/build_dir OS=macos
6. (可选)验证安装
检查已安装的 Redis 服务器和 CLI 版本
build_dir/bin/redis-server --version
build_dir/bin/redis-cli --version
7. 启动 Redis
要启动 Redis,请使用以下命令
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
build_dir/bin/redis-server redis-full.conf
要验证是否已安装可用模块,请运行 [INFO
]/docs/latest/commands/info/ 命令并查找类似于以下内容的行
build_dir/bin/redis-cli INFO
...
# Modules
module:name=ReJSON,ver=20803,api=1,filters=0,usedby=[search],using=[],options=[handle-io-errors]
module:name=search,ver=21005,api=1,filters=0,usedby=[],using=[ReJSON],options=[handle-io-errors]
module:name=bf,ver=20802,api=1,filters=0,usedby=[],using=[],options=[]
module:name=timeseries,ver=11202,api=1,filters=0,usedby=[],using=[],options=[handle-io-errors]
module:name=RedisCompat,ver=1,api=1,filters=0,usedby=[],using=[],options=[]
module:name=vectorset,ver=1,api=1,filters=0,usedby=[],using=[],options=[]
...