跳到主要内容
版本:开发版本 🚧

源码部署 Zealot 指南

如下整理了不同操作系统的本地部署开发教程。

准备部署环境

macOS

安装 homebrew

首先需要安装 Xcode Command tools:

$ xcode-select --install

如果提示安装失败,需要从 https://developer.apple.com/downloads 下载安装。

之后安装 macOS 的包管理工具 Homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装依赖

之后开始安装环境依赖

$ brew install postgresql webp imagemagick node git

M1 用户需要设置依赖编译路径到 SHELL 的配置文件中:

export CPATH=/opt/homebrew/include/
export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/lib/

配置 Postgres

运行 postgres 服务

$ brew services start postgresql

Postgres 还需要创建默认用户名:

$ createuser --superuser zealot

# 如果担心权限过高可以只开启创建数据库权限
$ createuser --createdb zealot

yarn

$ npm install -g yarn

运行起来后使用浏览器访问 http://localhost:3000

疑难杂症

M1 芯片 MacOS 问题
aarch64-darwin/libwebp_ffi.bundle => aarch64-darwin/jpegdec.o

使用 bundle install 会遇到如上问题这个是因为 homebrew 安装 webp 依赖之后编译路径无法被找到,上面有解决办法。

Debian (Ubuntu)

安装环境依赖

$ apt update
$ apt install -y libssl-dev tar tzdata git imagemagick libjpeg-dev libpng-dev libtiff-dev libwebp-dev

安装依赖

$ apt install -y postgresql-client node

配置 Postgres

运行 postgres 服务

$ systemctl postgres start

Postgres 还需要创建默认用户名:

$ initdb -D /var/lib/postgresql/data
$ createuser --superuser zealot

# If you are worried about the high privilege, you can only enable the create database privilege
$ createuser --createdb zealot

node

$ npm install -g yarn

Alpine Linux

安装环境依赖

$ apk --update --no-cache add build-base libxml2 libxslt git \
libxml2-dev libxslt-dev yaml-dev postgresql-dev nodejs npm yarn libwebp-dev libpng-dev tiff-dev \
tzdata

如果是在 arm 架构安装还需要额外安装 gcompat glib 兼容层,否则会报 "Error loading shared library" 异常错误。

安装依赖

$ apk --update --no-cache postgresql node

配置 Postgres

运行 postgres 服务

$ rc-service postgres start

Postgres 还需要创建默认用户名:

$ initdb -D /var/lib/postgresql/data
$ createuser --superuser zealot

# 如果担心数据库用户权限,可仅开启创建数据库权限
$ createuser --createdb zealot

yarn

$ npm install -g yarn

安装 Ruby

可以通过 asdf、rvm 任意一种方式安装。

一个支持主流开发语言版本切换的工具,请按照官方安装教程好之后安装 ruby:

# 开启 Ruby 3.3.0 YJIT 新特性需要安装 Rust 1.58+
# 可选安装:
asdf plugin add rust
asdf install rust latest
asdf global rust latest
export RUBY_CONFIGURE_OPTS=--enable-yjit

# 必须安装
asdf plugin add ruby
asdf install ruby 3.3.0
asdf global ruby 3.3.0

克隆源代码

git clone https://github.com/tryzealot/zealot.git

初始化

以下步骤均需要在 zealot 根目录执行。

bundler

安装 Ruby gems 第三方类库

$ [sudo] gem install bundler
$ bundle install

yarn

安装前端第三方类库

$ yarn install

初始化数据库

确保连接数据库信息没有问题,后将会创建数据库表并创建表结构

$ rails db:create
$ rails db:migrate

配置数据库连接参数可通过环境变量或更改 config/database.yml 文件。

初始化预制数据

初始化管理员账号和应用样例

$ rails db:seed

运行 Zealot 服务

$ bin/dev

打开浏览器访问 http://localhost:3000