在 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=[]
...
评价本页
返回顶部 ↑