安装指南¶
本指南涵盖在各种平台上安装 R Commerce 的详细说明。
系统要求¶
最低要求¶
- CPU:2 核
- 内存:2 GB
- 存储:10 GB
- 操作系统:Linux、macOS 或 FreeBSD
推荐要求¶
- CPU:4+ 核
- 内存:4+ GB
- 存储:50+ GB SSD
- 网络:100 Mbps+ 带宽
前提条件¶
所有平台¶
# Rust 1.70+(从 https://rustup.rs 安装)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# PostgreSQL 13+(必需)
# 请参阅下面的数据库设置
# 可选但推荐
# - pkg-config
# - OpenSSL 开发头文件
平台特定前提条件¶
FreeBSD:
# 安装系统包
pkg install -y \
postgresql15-client \
pkgconf \
openssl \
ca_root_nss
# 用于附加功能
pkg install -y \
redis \
nginx \
haproxy
Linux (Debian/Ubuntu):
# 安装构建依赖
apt-get update
apt-get install -y \
build-essential \
pkg-config \
libssl-dev \
postgresql-client \
libpq-dev
Linux (CentOS/RHEL/Fedora):
# 安装构建依赖
yum groupinstall -y "Development Tools"
yum install -y \
openssl-devel \
postgresql-devel \
pkgconfig
macOS:
# 安装 Xcode 命令行工具
xcode-select --install
# 如果尚未安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装依赖
brew install \
postgresql@15 \
pkg-config
构建步骤(所有平台)¶
# 克隆仓库
git clone https://github.com/creativebastard/rcommerce.git
cd gocart
# 构建发布二进制文件
cargo build --release
# 二进制文件位置
target/release/rcommerce
# 运行测试
cargo test --release
# 检查平台兼容性
cargo check --target x86_64-unknown-linux-gnu # Linux x86_64
cargo check --target aarch64-unknown-linux-gnu # Linux ARM64
cargo check --target x86_64-unknown-freebsd # FreeBSD x86_64
cargo check --target aarch64-unknown-freebsd # FreeBSD ARM64
cargo check --target x86_64-apple-darwin # macOS x86_64
cargo check --target aarch64-apple-darwin # macOS ARM64 (Apple Silicon)
Docker 安装¶
使用 Docker Compose(推荐)¶
# 克隆仓库
git clone https://github.com/creativebastard/rcommerce.git
cd gocart
# 创建环境文件
cp .env.example .env
# 编辑 .env 进行配置
# 使用 Docker Compose 启动
docker-compose up -d
# 查看日志
docker-compose logs -f rcommerce
# 验证健康状态
curl http://localhost:8080/health
手动 Docker 构建¶
# 构建阶段
FROM rust:1.75-slim as builder
WORKDIR /app
# 安装构建依赖
RUN apt-get update && \
apt-get install -y \
pkg-config \
libssl-dev \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
# 复制清单并构建依赖
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && echo "fn main() {}" > src/main.rs
RUN cargo build --release --bin rcommerce || true
# 复制源代码
COPY . .
# 构建应用程序
RUN cargo build --release --bin rcommerce
# 运行阶段
FROM debian:bookworm-slim
# 安装运行时依赖
RUN apt-get update && \
apt-get install -y \
ca-certificates \
libssl3 \
libpq5 \
curl \
&& rm -rf /var/lib/apt/lists/*
# 创建服务用户
RUN groupadd -r rcommerce && useradd -r -g rcommerce rcommerce
# 从构建阶段复制二进制文件
COPY --from=builder /app/target/release/rcommerce /usr/local/bin/
COPY --from=builder /app/config/default.toml /etc/rcommerce/config.toml
# 创建目录
RUN mkdir -p /var/lib/rcommerce /var/log/rcommerce && \
chown -R rcommerce:rcommerce /var/lib/rcommerce /var/log/rcommerce
# 切换到服务用户
USER rcommerce
# 暴露端口
EXPOSE 8080
# 健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:8080/health || exit 1
# 启动应用程序
CMD ["rcommerce"]
构建并运行:
# 构建镜像
docker build -t rcommerce:latest .
# 运行容器
docker run -d \
--name rcommerce \
-p 8080:8080 \
-v $(pwd)/config/production.toml:/etc/rcommerce/config.toml:ro \
rcommerce:latest
二进制安装¶
下载预构建二进制文件¶
可用时,从发布页面下载预构建的二进制文件:
# 下载 Linux x86_64 版本
wget https://github.com/captainjez/gocart/releases/download/v0.1.0/rcommerce-linux-x86_64.tar.gz
tar -xzf rcommerce-linux-x86_64.tar.gz
sudo mv rcommerce /usr/local/bin/
# 下载 macOS ARM64 版本
wget https://github.com/captainjez/gocart/releases/download/v0.1.0/rcommerce-macos-arm64.tar.gz
tar -xzf rcommerce-macos-arm64.tar.gz
sudo mv rcommerce /usr/local/bin/
通过 Cargo 安装¶
包管理器安装¶
Homebrew (macOS/Linux)¶
APT (Debian/Ubuntu)¶
# 添加仓库(可用时)
sudo apt-add-repository 'deb https://apt.rcommerce.app stable main'
sudo apt update
sudo apt install rcommerce
FreeBSD pkg¶
# 使用 pkg(可用时)
sudo pkg install rcommerce
# 从 ports
cd /usr/ports/commerce/rcommerce && sudo make install
安装后配置¶
1. 创建配置目录¶
2. 创建服务用户¶
# Linux
sudo useradd -r -s /bin/false rcommerce
sudo chown -R rcommerce:rcommerce /var/lib/rcommerce /var/log/rcommerce
# FreeBSD
sudo pw useradd rcommerce -d /var/lib/rcommerce -s /bin/false
sudo chown -R rcommerce:rcommerce /var/lib/rcommerce /var/log/rcommerce
3. 设置配置¶
# 复制示例配置
sudo cp config/production.toml /etc/rcommerce/config.toml
# 编辑配置
sudo nano /etc/rcommerce/config.toml
4. 测试安装¶
故障排除¶
构建失败¶
错误:linker 'cc' not found
# 安装构建工具
# Ubuntu/Debian
sudo apt-get install build-essential
# CentOS/RHEL
sudo yum groupinstall "Development Tools"
# macOS
xcode-select --install
错误:openssl-sys 构建失败
# 安装 OpenSSL 开发头文件
# Ubuntu/Debian
sudo apt-get install libssl-dev pkg-config
# CentOS/RHEL
sudo yum install openssl-devel pkgconfig
# macOS
brew install openssl pkg-config
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl/lib/pkgconfig"
错误:pq-sys 构建失败 (PostgreSQL)
# 安装 PostgreSQL 开发头文件
# Ubuntu/Debian
sudo apt-get install libpq-dev
# CentOS/RHEL
sudo yum install postgresql-devel
# macOS
brew install postgresql@15
运行时问题¶
权限被拒绝
# 修复权限
sudo chown -R rcommerce:rcommerce /var/lib/rcommerce /var/log/rcommerce
sudo chmod 750 /var/lib/rcommerce /var/log/rcommerce
端口已被占用