安装
要使用 Yazi,你必须先安装以下前置依赖:
file(用于文件类型检测)
Yazi 还可以按需通过其他命令行工具进行扩展,以启用更多功能。
- nerd-fonts(推荐)
ffmpeg(用于生成视频缩略图)- 7-Zip(用于压缩包解压与预览,要求非独立版)
jq(用于 JSON 预览)poppler(用于 PDF 预览)fd(用于文件搜索)rg(用于文件内容搜索)fzf(用于快速导航文件子树,要求 >= 0.53.0)zoxide(用于历史目录导航,依赖fzf)resvg(用于 SVG 预览)- ImageMagick(用于字体、HEIC 和 JPEG XL 预览,要求 >= 7.1.1)
xclip/wl-clipboard/xsel(用于 Linux 剪贴板支持)
如果某些功能没有按预期工作,请将这些依赖升级到最新版本。
打包状态
本页中的大多数软件包由社区维护,不一定总是最新版本。安装前请先检查它们的版本:
Arch Linux
sudo pacman -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick
如果你想使用最新的 Git 版本,可以从 AUR 或 Arch Linux CN 安装:
paru -S yazi-git ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick
你也可以从 AUR 安装官方 nightly 二进制发行版, 该版本基于过去 6 小时内的最新代码构建:
paru -S yazi-nightly-bin ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick
Nix
Yazi 已提供 Nix package。
# NixOS:nix-env -iA nixos.yazi# Not NixOS:nix-env -iA nixpkgs.yazi
或者将以下内容加入你的配置:
# configuration.nixenvironment.systemPackages = with pkgs; [(yazi.override {_7zz = _7zz-rar; # Support for RAR extraction})];
你也可以使用 home-manager 管理 Yazi 的配置,下面是一个配置模板示例:
演示如何使用 home-manager 配置 Yazi
nix
{pkgs, ...}: let
yazi-plugins = pkgs.fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
rev = "...";
hash = "sha256-...";
};
in {
programs.yazi = {
enable = true;
enableZshIntegration = true;
shellWrapperName = "y";
settings = {
mgr = {
show_hidden = true;
};
preview = {
max_width = 1000;
max_height = 1000;
};
};
plugins = {
chmod = "${yazi-plugins}/chmod.yazi";
full-border = "${yazi-plugins}/full-border.yazi";
toggle-pane = "${yazi-plugins}/toggle-pane.yazi";
starship = pkgs.fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "...";
sha256 = "sha256-...";
};
};
initLua = ''
require("full-border"):setup()
require("starship"):setup()
'';
keymap = {
mgr.prepend_keymap = [
{
on = "T";
run = "plugin toggle-pane max-preview";
desc = "Maximize or restore the preview pane";
}
{
on = ["c" "m"];
run = "plugin chmod";
desc = "Chmod on selected files";
}
];
};
};
}
Nix flakes
上游仓库提供了 flake,方便 Nix 用户始终跟进最新前沿版本。下面是一个基础的 flake.nix 示例,帮助你快速开始:
{inputs = {nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";home-manager = {url = "github:nix-community/home-manager/release-23.11";inputs.nixpkgs.follows = "nixpkgs";};yazi.url = "github:sxyazi/yazi";};outputs = { nixpkgs, home-manager, yazi, ... }: {# To install Yazi system-wide:nixosConfigurations = {nixos = nixpkgs.lib.nixosSystem {modules = [({ pkgs, ... }: {environment.systemPackages = [(yazi.packages.${pkgs.system}.default.override {_7zz = pkgs._7zz-rar; # Support for RAR extraction})];})];};};# To install it for a specific user:homeConfigurations = {"alice@nixos" = home-manager.lib.homeManagerConfiguration {pkgs = nixpkgs.legacyPackages.x86_64-linux;modules = [({ pkgs, ... }: {home.packages = [(yazi.packages.${pkgs.system}.default.override {_7zz = pkgs._7zz-rar; # Support for RAR extraction})];})];};};};}
如果你想用 flake 中的包来覆盖 nixpkgs 里的包,可以使用 overlays:
nixpkgs.overlays = [ yazi.overlays.default ];
NixOS 和 home-manager 都提供了可用模块:
programs.yazi = {enable = true;# 如果你使用 overlays,可以省略这一项package = yazi.packages.${pkgs.system}.default.override {_7zz = pkgs._7zz-rar; # Support for RAR extraction};};
缓存
预构建产物托管在 https://yazi.cachix.org,因此 Nix 用户不必在本机构建 Yazi。
你可以将以下选项添加到 nix.settings 中,无论是在 NixOS 还是 home-manager 配置里都可以:
extra-substituters = [ "https://yazi.cachix.org" ];extra-trusted-public-keys = [ "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" ];
注意,缓存只有在你重新构建 Nix 配置之后才会生效。
如果你希望缓存立刻生效,请将上面的选项加入 flake 的 nixConfig 属性中。
如果你遇到问题,请参考 Cachix FAQ 中的这篇说明。
Homebrew
首先,确保 Homebrew 已经通过 brew update 完整更新。
然后你可以安装 Yazi(以及可选依赖):
brew install yazi ffmpeg-full sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick-full font-symbols-only-nerd-font
如果你希望使用最新代码,可以在安装 Yazi 时加上 --HEAD 参数:
brew install yazi --HEAD
MacPorts
sudo port install yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide ImageMagick
Solus Linux
sudo eopkg install yazi ffmpeg p7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick
Void Linux
sudo xbps-install -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg ImageMagick
NetBSD
pkgin install yazi ffmpeg7 p7zip jq poppler fd ripgrep fzf zoxide ImageMagick
Windows
Yazi 依赖 file(1) 来检测文件的 MIME 类型,而在 Windows 上获取它最简单、最可靠的方法,就是安装 Git for Windows,并使用其中自带的 file.exe。
- 通过官方安装程序安装 Git for Windows,或通过你偏好的包管理器安装。
为了让 Yazi 能使用
file(1),请将<Git_Installed_Directory>\usr\bin\file.exe添加到你的YAZI_FILE_ONE环境变量中。这个路径会因安装方式不同而不同:- 如果你通过安装程序安装 Git,则通常为
C:\Program Files\Git\usr\bin\file.exe - 如果你通过 Scoop 安装 Git,则通常为
C:\Users\<Username>\scoop\apps\git\current\usr\bin\file.exe
- 如果你通过安装程序安装 Git,则通常为
- 重启终端。
这是我们唯一推荐的方式。
我们不建议通过 Scoop 或 Chocolatey 安装 file,因为它们无法正确处理 Unicode 文件名(例如 oliver-sjöström.jpg),并且缺少一些必要参数。
大多数用户本来就已经安装了 Git,而 Yazi 也是通过 Git 托管的,所以这通常不是问题。
但如果你确实不想安装 Git,可以借助 mime-ext.yazi 插件,它使用扩展名数据库,而不是依赖 file(1) 二进制。
使用 Scoop 安装
scoop install yazi# 安装可选依赖(推荐):scoop install ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick
使用 WinGet 安装
winget install sxyazi.yazi# 安装可选依赖(推荐):winget install Gyan.FFmpeg 7zip.7zip jqlang.jq oschwartz10612.Poppler sharkdp.fd BurntSushi.ripgrep.MSVC junegunn.fzf ajeetdsouza.zoxide ImageMagick.ImageMagick
resvg 目前还未上架 WinGet,请使用 Scoop 安装,或从 resvg 手动下载。
Debian 系 Linux
在 Debian/Ubuntu 上,你目前需要手动构建 Yazi,或下载我们的官方二进制发行版。
可选依赖可以通过以下方式安装:
apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick
注意,这些依赖在某些 Debian/Ubuntu 版本中可能比较旧,从而导致 Yazi 无法正常工作。 在这种情况下,你需要手动从最新源码构建它们。
如果你了解如何为 Debian/Ubuntu 打包 Yazi,并愿意帮助我们提交,请创建 issue。
Fedora/Centos Stream 9+/RHEL 9+
dnf copr enable lihaohong/yazidnf install yazi
dnf 会自动安装推荐依赖。若只想安装 Yazi 本体:
dnf copr enable lihaohong/yazidnf install yazi --setopt=install_weak_deps=False
如果 dnf 报错 “No such command: copr”,请先运行 dnf install dnf-plugins-core,然后重新执行上面的命令。
Snapcraft
你可以通过 Snap Store 安装 Yazi:
sudo snap install yazi --classic
如果你想跟进最新前沿版本,可以安装 nightly:
sudo snap install yazi --classic --edge
Flatpak
在完成安装后,你可以在终端中这样运行 Yazi:
flatpak run io.github.sxyazi.yazi
你也可以创建一个 shell alias:
alias yazi="flatpak run io.github.sxyazi.yazi"
更多信息请参阅 Flatpak 版本的 README。
AOSC OS
sudo oma install yazi ffmpeg p7zip jq poppler fd ripgrep fzf zoxide imagemagick
x-cmd
x env use yazi ffmpeg 7zz jq fd rg fzf zoxide magick
官方二进制版本
你可以从 GitHub Releases 下载最新官方二进制版本:https://github.com/sxyazi/yazi/releases
该页面提供 GNU / Musl 构建版本,以满足不同用户的需求。
同时也提供 nightly release, 它基于过去 6 小时内的最新代码构建。
crates.io
Yazi 已在 crates.io 上发布为 yazi-fm 和 yazi-cli。由于 Cargo 的限制,它们必须通过 yazi-build 安装。
安装 Yazi 之前,请先通过 rustup 配置最新的稳定版 Rust toolchain:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustup update
然后你可以通过 cargo 安装 yazi-build,它会进一步安装 yazi-fm 和 yazi-cli:
cargo install --force yazi-build
或者安装 Yazi 的最新 Git 版本:
cargo install --force --git https://github.com/sxyazi/yazi.git yazi-build
如果构建失败,请检查系统中是否已安装 make 和 gcc。
Cargo Binstall
使用 cargo-binstall 安装 Yazi 的二进制发行版:
cargo binstall yazi-fm
从源码构建
先通过 rustup 配置最新稳定版 Rust toolchain:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustup update
克隆仓库并构建 Yazi:
sh
git clone https://github.com/sxyazi/yazi.git
cd yazi
cargo build --release --locked
sh
git clone https://github.com/sxyazi/yazi.git
cd yazi
cargo build --profile release-windows --locked
然后将 yazi 和 ya 添加到你的 $PATH 中:
sh
mv target/release/yazi target/release/ya /usr/local/bin/
sh
move target\release-windows\yazi.exe "%ProgramFiles%\yazi.exe"
move target\release-windows\ya.exe "%ProgramFiles%\ya.exe"
如果构建失败,请检查系统中是否已安装 make 和 gcc。
以调试模式从源码构建
先通过 rustup 配置最新稳定版 Rust toolchain:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustup update
克隆仓库并构建 Yazi:
git clone https://github.com/sxyazi/yazi.gitcd yazicargo build --locked
然后以 debug mode 运行 yazi:
sh
YAZI_LOG=debug RUST_BACKTRACE=1 ./target/debug/yazi
powershell
$env:YAZI_LOG = "debug"; $env:RUST_BACKTRACE = 1; .\target\debug\yazi.exe
如果构建失败,请检查系统中是否已安装 make 和 gcc。
