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 自动格式化代码,满足日常开发需求。
相关推荐
凡人叶枫2 分钟前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
袁小皮皮不皮2 分钟前
3.HCIP OSPF补充知识(优化版)
服务器·网络·数据库·网络协议·智能路由器
虾壳云官方20 分钟前
OpenClaw 2.7.9 Windows 一键部署教程:零基础也能搭建 AI 自动化助手
运维·人工智能·windows·自动化·openclaw·openclaw一键部署
江南风月25 分钟前
WGCLOUD保姆级教程最新版整理
运维·zabbix·运维开发·prometheus·日志审计
志栋智能1 小时前
超自动化巡检:知识沉淀与团队协作的新载体
大数据·运维·网络·数据库·人工智能·自动化
袁小皮皮不皮1 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
vsropy2 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu
fofantasy2 小时前
NSK LH12AN 微型导轨技术手册
运维·网络·数据库·经验分享·规格说明书
coderwu2 小时前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu
dxxt_yy3 小时前
千兆光/电口+OTDR一体——成都鼎讯 SZT-1000A 千兆以太网测试仪助力风电能源光缆管理
运维·服务器·能源