Linux 系统中安装 ktlint

在 Linux 系统中安装 ktlint(Kotlin 代码格式化 / 检查工具)非常简单,主要有手动安装 (通用所有 Linux 发行版)和包管理器安装(针对特定发行版)两种方式,下面优先推荐通用且易维护的手动安装方式。

一、通用手动安装(推荐)

这种方式适配所有 Linux 发行版(Ubuntu、CentOS、Fedora 等),步骤清晰且便于控制版本。

步骤 1:下载 ktlint 可执行文件

首先创建一个存放工具的目录(推荐 ~/.local/bin,该目录通常已加入系统 PATH),然后下载:

bash 复制代码
# 创建工具目录(如果不存在)
mkdir -p ~/.local/bin
cd ~/.local/bin

# 下载最新版 ktlint 到该目录(也可指定版本,如 0.50.0)
curl -sSLO https://github.com/pinterest/ktlint/releases/latest/download/ktlint
# 如需指定版本,替换为:curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.50.0/ktlint

# 赋予可执行权限
chmod +x ~/.local/bin/ktlint
步骤 2:验证 PATH 与安装

检查 ~/.local/bin 是否在系统 PATH 中:

bash 复制代码
echo $PATH

如果输出包含 ~/.local/bin,直接验证安装:

cpp 复制代码
ktlint --version

如果输出类似 ktlint 0.50.0,说明安装成功。

(可选)若 PATH 未包含~/.local/bin

编辑 shell 配置文件(根据你使用的 shell 选择):

  • bash:~/.bashrc
  • zsh:~/.zshrc
  • fish:~/.config/fish/config.fish

以 bash 为例:

bash 复制代码
# 编辑配置文件
nano ~/.bashrc

# 在文件末尾添加以下内容
export PATH="$HOME/.local/bin:$PATH"

# 生效配置
source ~/.bashrc

再次执行 ktlint --version 验证即可。

二、包管理器安装(仅部分发行版)

1. Arch Linux/Manjaro(AUR)
bash 复制代码
# 使用 yay 安装
yay -S ktlint
# 或用 paru
paru -S ktlint
2. Mac/Linux(Homebrew,需先装 Homebrew)

如果你的 Linux 装了 Homebrew,也可以:

cpp 复制代码
brew install ktlint

三、验证安装 & 基础使用

安装完成后,执行以下命令测试

bash 复制代码
# 查看版本(核心验证)
ktlint --version

# 检查当前目录下的所有 Kotlin 文件
ktlint

# 自动格式化当前目录下的 Kotlin 文件(修复格式问题)
ktlint -F

四、常见问题解决

  1. curl 下载失败 :检查网络,或替换为 wget 命令:

    复制代码
    wget https://github.com/pinterest/ktlint/releases/latest/download/ktlint -O ~/.local/bin/ktlint
  2. 权限不足 :执行 chmod +x ~/.local/bin/ktlint 时加 sudo(仅当目录是系统目录时需要,如 /usr/bin)。

  3. 版本不匹配 :下载时指定具体版本号(如 0.49.1),替换命令中的 latest 为版本号即可。


总结

  1. 通用安装 :下载可执行文件到 ~/.local/bin 并赋权,是最适配所有 Linux 发行版的方式。
  2. 核心验证ktlint --version 能输出版本号即代表安装成功。
  3. 基础用法ktlint 检查代码,ktlint -F 自动格式化代码,满足日常开发需求。
相关推荐
专吃海绵宝宝菠萝屋的派大星12 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
斯普信云原生组12 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
大数据新鸟12 小时前
操作系统之虚拟内存
java·服务器·网络
safestar201213 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘13 小时前
负载均衡的多维深度解析
运维·负载均衡
楠奕13 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT14 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!14 小时前
Linux常用指令(2)
linux·运维·服务器
做咩啊~14 小时前
6.增加一个flat网段
服务器·openstack
不愿透露姓名的大鹏14 小时前
Oracle归档日志爆满急救指南
linux·数据库·oracle·dba