在青龙 Docker 容器内一键安装全部运行依赖,解决模块缺失报错
方案简介
QLDependency 是青龙面板的全依赖环境一键安装脚本。青龙(qinglong)是一个支持 python3、javaScript、shell、typescript 的定时任务管理面板,通常以 Docker 容器方式部署。新版本青龙(2.10.2+)在运行脚本时经常出现 Cannot find module 'xxxx' 或 'xxxx' module not found 的报错,原因是缺少对应模块。QLDependency 提供一条 Shell 脚本,通过 docker exec 进入青龙容器,一次性批量安装全部所需依赖,避免逐个手动补装的麻烦。适合已经用 Docker 部署了青龙面板、希望快速补齐依赖环境的用户。
亮点与能力
- 一键部署青龙所需的全部依赖,以免后患
- 提供国内版(走 ghp.ci 加速)与国外版两种脚本地址
- 针对 2.12+ 新版本青龙提供专用脚本 XinQLOneKey.sh
- 安装过程有进度条日志输出,便于观察
- 支持在 SSH 终端环境(服务器、群辉、软路由等)执行
- 欢迎社区提交 pull request 补充新依赖
组成与分工
- 青龙(qinglong):定时任务管理面板,是依赖安装的目标容器环境
- Docker:青龙以容器方式运行,脚本通过
docker exec -it进入容器执行 - curl:从 GitHub 拉取一键安装脚本
- bash:执行下载的 Shell 安装脚本
- npm:安装 Node.js 模块依赖的工具,安装过程有 npm 相关输出
前置要求
- 已拉取青龙镜像:
docker pull whyour/qinglong:latest - 可通过 SSH 进入服务器(或群辉、软路由等终端环境)
- 青龙 Docker 容器正常运行
实施步骤
1. 确认容器运行
SSH 进入服务器(或群辉,或软路由等终端环境),输入 docker ps,查看青龙 Docker 是否正常运行,记下青龙 Docker 的容器名字。
2. 执行一键安装命令
国内版:
bash
docker exec -it qinglong bash -c "$(curl -fsSL https://ghp.ci/https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | bash)"
国外版:
bash
docker exec -it qinglong bash -c "$(curl -fsSL https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | bash)"
如果你的青龙容器不叫 qinglong,需要替换为相应的容器名字。
3. 查看日志并等待
查看输出日志,等进度条走完。等待时间因机器性能而异,性能差的时间可能非常长。
4. 重启容器
最后输出完成后,重启青龙 Docker:
bash
docker restart qinglong
5. 2.12+ 新版失败时的替代方案
版本号 2.12+ 的新版本青龙安装失败请尝试:
bash
docker exec -it qinglong bash -c "$(curl -fsSL https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/XinQLOneKey.sh | bash)"
使用与配置要点
- 安装完成后通过
docker restart qinglong重启青龙,依赖即生效 - 验证方式:之前报
Cannot find module 'xxxx'的脚本重新运行不再报错,即依赖安装完毕 - 有新的需要的依赖,可测试完成后提交 pull request,等待审核合并到项目中
注意事项与常见问题
- 等待时间因机器性能而异,性能差的机器安装时间可能非常长,请耐心等待
- 容器名不叫 qinglong 时,需把命令中的 qinglong 替换为实际容器名
- 国外服务器建议使用国外版脚本地址,速度比较快
- 2.12+ 新版本青龙若安装失败,请改用 XinQLOneKey.sh 脚本
- 安装报错等常见问题请参考 README 的常见问题部分
- 免责声明:对任何脚本问题概不负责,请勿将仓库内容用于商业或非法目的
优缺点
- ✓ 一键部署全部依赖,以免后患
- ✓ 提供国内/国外加速源
- ✕ 性能差的机器安装时间可能非常长
- ✕ 2.12+ 新版可能安装失败需换脚本
出处
本方案挖掘自开源项目 FlechazoPh/QLDependency,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。