在 Linux 上部署 Eric
部署前注意
本教程需要:
-
基础文件操作能力
-
基础终端使用能力
-
基础搜索引擎使用能力
-
中文阅读理解能力
-
一个可以正常运转的脑子
1. 前置条件
1.1. mirai
首先,你需要一个可以正常运行的 mirai 实例。如果你不知道如何部署 mirai,请参考 Graia 官方文档 或 Graia 社区文档 中的相关内容。
1.2. Python 3.10+
Eric 使用了 Python 3.10+ 的新特性,因此你需要安装 Python 3.10+ 才能正常运行。
不知道如何安装 Python 3.10+ ?
如果你不知道如何安装 Python,请自行搜索相关教程或按 Alt+F4 退出本教程。 你最好是在 csdn (一类的) 之外的网站看教程
2. 下载
2.1. 下载 Eric
首先,你需要下载 Eric 的源代码。你可以通过以下方式下载:
-
通过 Git 下载(推荐)
在终端中输入以下命令:
git clone https://github.com/ProjectNu11/Eric.git随后,你可以通过
cd Eric命令进入 Eric 的目录并继续操作。 -
通过 GitHub 下载
你可以通过 GitHub 直接下载 Eric 的源代码。点击 这里 下载 Eric 的源代码归档文件。
随后,你可以通过
unzip Eric-main.zip命令解压 Eric 的源代码归档文件并继续操作。
建议使用 Git 下载
如源代码并非使用 git clone 命令下载,Eric 内置的自动更新将不再可用,
你可能需要自行更新问题。
3. 安装依赖
3.1. 初始化虚拟环境
Eric 使用了 PDM 来管理依赖。
Eric 将不再支持 poetry,请使用 PDM 进行安装
3.1.1. 安装 pdm
首先,你需要安装 pdm。你可以通过以下方式安装:
-
通过脚本安装(推荐)
在终端中输入以下命令:
curl -sSL https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py | python3 -随后在
.bashrc或.zshrc中添加脚本打印的export以便在终端中使用pdm命令 -
通过
pip安装在终端中输入以下命令:
pip install pdm
建议使用脚本安装
某些情况下,使用 pip 直接安装 pdm 可能会影响当前 Python 环境安装的依赖出现冲突。
3.1.2. 安装依赖
在终端中输入以下命令即可安装 Eric 的依赖:
pdm install
需要修改 pdm 使用的 Python 版本?
如果你需要修改 pdm 使用的 Python 版本,请使用以下命令:
pdm use <python_path>
其中,<python_path> 为你需要使用的 Python 的路径或版本号,
如 python3.10 或 /usr/bin/python3.10。
4. 配置
初次运行 Eric 时,你需要配置 Eric。
在终端中输入以下命令生成空白配置文件:
pdm run start
随后,你应可以在 config 文件夹中找到生成的空白配置文件,按照你的需求修改 .jsonc 文件即可。
5. 运行
在终端中输入以下命令即可运行 Eric:
pdm run start
你应可以在终端中看到 Eric 的输出:
2022-12-09 10:17:47.858 | SUCCESS | library.config.validate:validate_config:94 - 配置验证通过
2022-12-09 10:17:47.917 | SUCCESS | library.config.initialize:_bootstrap:48 - 配置初始化完成
2022-12-09 10:17:48.154 | SUCCESS | library.util.module:resolve:77 - [Modules] 解析模块依赖完成
2022-12-09 10:17:48.154 | SUCCESS | library.util.module.launch:launch_require:22 - [EricService] 已校验 9 个模块
2022-12-09 10:17:48.194 | INFO | graia.saya:require:134 - module loading finished: library.module.file_server
2022-12-09 10:17:48.226 | INFO | graia.saya:require:134 - module loading finished: library.module.ping
2022-12-09 10:17:48.516 | INFO | graia.saya:require:134 - module loading finished: library.module.executor
2022-12-09 10:17:48.743 | INFO | graia.saya:require:134 - module loading finished: library.module.system_status
2022-12-09 10:17:48.749 | INFO | graia.saya:require:134 - module loading finished: library.module.exchange
2022-12-09 10:17:48.770 | INFO | graia.saya:require:134 - module loading finished: library.module.help
2022-12-09 10:17:49.380 | INFO | graia.saya:require:134 - module loading finished: library.module.exception_handler
2022-12-09 10:17:49.450 | INFO | graia.saya:require:134 - module loading finished: library.module.manager
2022-12-09 10:17:49.459 | WARNING | library.util.module.require:_require_install_deps:30 - 未指定 --console
2022-12-09 10:17:49.588 | INFO | launart.manager:launch_blocking:446 - Starting launart main task...
2022-12-09 10:17:49.590 | INFO | launart.manager:launch:313 - Launching 11 components as async task...
2022-12-09 10:17:49.704 | INFO | graia.ariadne.service:base_telemetry:142 -
_ _ _
/ \ _ __(_) __ _ __| |_ __ ___
/ _ \ | '__| |/ _` |/ _` | '_ \ / _ \
/ ___ \| | | | (_| | (_| | | | | __/
/_/ \_\_| |_|\__,_|\__,_|_| |_|\___|
graiax-fastapi: 0.2.1
graiax-playwright: 0.2.1
graiax-text2img-playwright: 0.2.0
graia-amnesia: 0.7.0
graia-ariadne: 0.10.0
graia-broadcast: 0.19.0
graia-saya: 0.0.17
graia-scheduler: 0.0.10
kayaku: 0.5.0
launart: 0.6.1
statv: 0.3.2
至此,Eric 已经启动成功。