tianji/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/install/manual.md

2.3 KiB
Raw Blame History

sidebar_position _i18n_hash
1 3cd3648cd037fe21e115e135f0c9fa5b

无 Docker 安装

使用 Docker 安装 Tianji 是最好的方式,你不需要考虑环境问题。

但如果你无法在服务器上使用 Docker可以尝试手动安装。

要求

你需要:

克隆代码并构建

git clone https://github.com/msgbyte/tianji.git
cd tianji
pnpm install

pnpm build

准备环境文件

src/server 目录下创建一个 .env 文件

DATABASE_URL="postgresql://user:pass@127.0.0.1:5432/tianji?schema=public"
JWT_SECRET="replace-me-with-a-random-string"

确保你的数据库 URL 是正确的,并且记得在之前创建数据库。

更多环境配置可以查看此文档 environment

如果可以,最好确保你的编码是 en_US.utf8例如createdb -E UTF8 -l en_US.utf8 tianji

运行服务器

npm install pm2 -g && pm2 install pm2-logrotate

# 初始化数据库迁移
cd src/server
pnpm db:migrate:apply

# 启动服务器
pm2 start ./dist/src/server/main.js --name tianji

默认情况下,Tianji 将在 http://localhost:12345 上运行

更新代码到新版本

# 检出新的发布/标签
cd tianji
git fetch --tags
git checkout -q <version>

# 更新依赖
pnpm install

# 构建项目
pnpm build

# 运行数据库迁移
cd src/server
pnpm db:migrate:apply

# 重启服务器
pm2 restart tianji

常见问题

安装 isolated-vm 失败

如果你使用的是 Python 3.12,会报告如下错误:

ModuleNotFoundError: No module named 'distutils'

这是因为 Python 3.12 从内置模块中移除了 distutils。现在我们有了解决方案。

你可以将 Python 版本从 3.12 切换到 3.9 来解决这个问题。

如何在 brew 控制的 Python 中解决这个问题

brew install python@3.9
rm /opt/homebrew/bin/python3
ln -sf /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.9

然后你可以使用 python3 --version 检查版本