最可靠方式是用官方仓库+包管理器:Ubuntu/Debian执行curl脚本配APT源后apt install crystal;RHEL/CentOS/Fedora用dnf或rpm安装,注意shards需单独安装,验证crystal --version≥1.12.0且shards可用。

Linux 下安装 Crystal 最可靠的方式是用官方仓库 + 包管理器,而不是源码编译或第三方镜像。Ubuntu/Debian 和 RHEL/CentOS 的流程不同,但核心都是确保 crystal 命令能被系统识别、版本 ≥ 1.12.0(VSCode/LSP 等工具的硬性要求)。
Ubuntu/Debian:用官方 install.sh 添加仓库
官方脚本会自动配置 APT 源并导入 GPG 密钥,比手动改 /etc/apt/sources.list 更稳妥:
- 运行
curl -fsSL https://crystal-lang.org/install.sh | sudo bash—— 这一步必须成功,否则后续apt-get install crystal会报 “unable to locate package” - 执行
sudo apt-get update确保包索引刷新(有些旧教程漏掉这步,导致装的是缓存里的过期版本) - 安装:
sudo apt-get install crystal;注意不要加--no-install-recommends,否则可能缺shards(Crystal 的包管理器) - 验证:
crystal --version输出应含LLVM和Default target字段,且版本号 ≥ 1.12.0
RHEL/CentOS/Fedora:优先用 dnf 或 rpm 直装
CentOS 8+ / RHEL 8+ 和 Fedora 用户别走 APT 路线,install.sh 不适配 RPM 系统:
- Fedora 可直接:
sudo dnf install crystal(Fedora 38+ 官方源已内置) - RHEL/CentOS 8+ 推荐下载最新 rpm 包手动装:
sudo dnf install -y https://github.com/crystal-lang/crystal/releases/latest/download/crystal-1.12.0-1.el8.x86_64.rpm(把 URL 中的版本号替换成实际最新版) - 装完检查
shards --version是否可用;若提示 command not found,说明 rpm 包未附带shards,需额外运行sudo dnf install shards - 注意:CentOS 7 已 EOL,官方不再提供支持,强行编译风险高,不建议用于生产
验证 PATH 和权限问题(90% 的“装了但 command not found”都卡在这)
即使 apt install 成功,crystal 命令也可能在非 root 用户下不可见:
- 检查二进制位置:
ls -l /usr/bin/crystal或which crystal;若为空,说明安装未写入 PATH - 确认用户 shell 配置是否加载了
/etc/profile.d/crystal.sh(Ubuntu/Debian 安装后自动生成),可运行source /etc/profile.d/crystal.sh临时生效 - 普通用户无权执行
sudo crystal build——crystal build默认不需要 root,如果报 permission denied,大概率是当前目录不可写,或src/下文件权限异常 - WSL2 用户特别注意:重启终端后仍找不到命令,可能是 WSL 启动时未读取
~/.bashrc,改用exec bash重载环境
最常被忽略的一点:Crystal 的 shards 依赖和 crystal 编译器是两个独立二进制,某些精简版 rpm 包只含前者。只要 shards --version 报错,就先别急着写项目,先补全工具链。



















