安装

要使用 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 剪贴板支持)

如果某些功能没有按预期工作,请将这些依赖升级到最新版本。

打包状态

本页中的大多数软件包由社区维护,不一定总是最新版本。安装前请先检查它们的版本:

Yazi packaging status

Arch Linux

  1. sudo pacman -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

如果你想使用最新的 Git 版本,可以从 AURArch Linux CN 安装:

  1. paru -S yazi-git ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

你也可以从 AUR 安装官方 nightly 二进制发行版, 该版本基于过去 6 小时内的最新代码构建:

  1. paru -S yazi-nightly-bin ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

Nix

Yazi 已提供 Nix package

  1. # NixOS:
  2. nix-env -iA nixos.yazi
  3. # Not NixOS:
  4. nix-env -iA nixpkgs.yazi

或者将以下内容加入你的配置:

  1. # configuration.nix
  2. environment.systemPackages = with pkgs; [
  3. (yazi.override {
  4. _7zz = _7zz-rar; # Support for RAR extraction
  5. })
  6. ];

你也可以使用 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 示例,帮助你快速开始:

  1. {
  2. inputs = {
  3. nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
  4. home-manager = {
  5. url = "github:nix-community/home-manager/release-23.11";
  6. inputs.nixpkgs.follows = "nixpkgs";
  7. };
  8. yazi.url = "github:sxyazi/yazi";
  9. };
  10. outputs = { nixpkgs, home-manager, yazi, ... }: {
  11. # To install Yazi system-wide:
  12. nixosConfigurations = {
  13. nixos = nixpkgs.lib.nixosSystem {
  14. modules = [
  15. ({ pkgs, ... }: {
  16. environment.systemPackages = [
  17. (yazi.packages.${pkgs.system}.default.override {
  18. _7zz = pkgs._7zz-rar; # Support for RAR extraction
  19. })
  20. ];
  21. })
  22. ];
  23. };
  24. };
  25. # To install it for a specific user:
  26. homeConfigurations = {
  27. "alice@nixos" = home-manager.lib.homeManagerConfiguration {
  28. pkgs = nixpkgs.legacyPackages.x86_64-linux;
  29. modules = [
  30. ({ pkgs, ... }: {
  31. home.packages = [
  32. (yazi.packages.${pkgs.system}.default.override {
  33. _7zz = pkgs._7zz-rar; # Support for RAR extraction
  34. })
  35. ];
  36. })
  37. ];
  38. };
  39. };
  40. };
  41. }

如果你想用 flake 中的包来覆盖 nixpkgs 里的包,可以使用 overlays:

  1. nixpkgs.overlays = [ yazi.overlays.default ];

NixOS 和 home-manager 都提供了可用模块:

  1. programs.yazi = {
  2. enable = true;
  3. # 如果你使用 overlays,可以省略这一项
  4. package = yazi.packages.${pkgs.system}.default.override {
  5. _7zz = pkgs._7zz-rar; # Support for RAR extraction
  6. };
  7. };

缓存

预构建产物托管在 https://yazi.cachix.org,因此 Nix 用户不必在本机构建 Yazi。 你可以将以下选项添加到 nix.settings 中,无论是在 NixOS 还是 home-manager 配置里都可以:

  1. extra-substituters = [ "https://yazi.cachix.org" ];
  2. extra-trusted-public-keys = [ "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" ];

注意,缓存只有在你重新构建 Nix 配置之后才会生效。 如果你希望缓存立刻生效,请将上面的选项加入 flake 的 nixConfig 属性中。

如果你遇到问题,请参考 Cachix FAQ 中的这篇说明

Homebrew

首先,确保 Homebrew 已经通过 brew update 完整更新。

然后你可以安装 Yazi(以及可选依赖):

  1. brew install yazi ffmpeg-full sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick-full font-symbols-only-nerd-font

如果你希望使用最新代码,可以在安装 Yazi 时加上 --HEAD 参数:

  1. brew install yazi --HEAD

MacPorts

  1. sudo port install yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide ImageMagick

Solus Linux

  1. sudo eopkg install yazi ffmpeg p7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

Void Linux

  1. sudo xbps-install -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg ImageMagick

NetBSD

  1. pkgin install yazi ffmpeg7 p7zip jq poppler fd ripgrep fzf zoxide ImageMagick

Windows

Yazi 依赖 file(1) 来检测文件的 MIME 类型,而在 Windows 上获取它最简单、最可靠的方法,就是安装 Git for Windows,并使用其中自带的 file.exe

  1. 通过官方安装程序安装 Git for Windows,或通过你偏好的包管理器安装。
  2. 为了让 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
  3. 重启终端。

这是我们唯一推荐的方式。 我们不建议通过 Scoop 或 Chocolatey 安装 file,因为它们无法正确处理 Unicode 文件名(例如 oliver-sjöström.jpg),并且缺少一些必要参数。

大多数用户本来就已经安装了 Git,而 Yazi 也是通过 Git 托管的,所以这通常不是问题。 但如果你确实不想安装 Git,可以借助 mime-ext.yazi 插件,它使用扩展名数据库,而不是依赖 file(1) 二进制。

使用 Scoop 安装

  1. scoop install yazi
  2. # 安装可选依赖(推荐):
  3. scoop install ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

使用 WinGet 安装

  1. winget install sxyazi.yazi
  2. # 安装可选依赖(推荐):
  3. 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,或下载我们的官方二进制发行版

可选依赖可以通过以下方式安装:

  1. 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+

  1. dnf copr enable lihaohong/yazi
  2. dnf install yazi

dnf 会自动安装推荐依赖。若只想安装 Yazi 本体:

  1. dnf copr enable lihaohong/yazi
  2. dnf install yazi --setopt=install_weak_deps=False

如果 dnf 报错 “No such command: copr”,请先运行 dnf install dnf-plugins-core,然后重新执行上面的命令。

Snapcraft

Install Yazi from Snapcraft

你可以通过 Snap Store 安装 Yazi:

  1. sudo snap install yazi --classic

如果你想跟进最新前沿版本,可以安装 nightly:

  1. sudo snap install yazi --classic --edge

Flatpak

Install Yazi from Flathub

在完成安装后,你可以在终端中这样运行 Yazi:

  1. flatpak run io.github.sxyazi.yazi

你也可以创建一个 shell alias:

  1. alias yazi="flatpak run io.github.sxyazi.yazi"

更多信息请参阅 Flatpak 版本的 README

AOSC OS

  1. sudo oma install yazi ffmpeg p7zip jq poppler fd ripgrep fzf zoxide imagemagick

x-cmd

  1. 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-fmyazi-cli。由于 Cargo 的限制,它们必须通过 yazi-build 安装。

安装 Yazi 之前,请先通过 rustup 配置最新的稳定版 Rust toolchain:

  1. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. rustup update

然后你可以通过 cargo 安装 yazi-build,它会进一步安装 yazi-fmyazi-cli

  1. cargo install --force yazi-build

或者安装 Yazi 的最新 Git 版本:

  1. cargo install --force --git https://github.com/sxyazi/yazi.git yazi-build

如果构建失败,请检查系统中是否已安装 makegcc

Cargo Binstall

使用 cargo-binstall 安装 Yazi 的二进制发行版:

  1. cargo binstall yazi-fm

从源码构建

先通过 rustup 配置最新稳定版 Rust toolchain:

  1. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. rustup 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

然后将 yaziya 添加到你的 $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"

如果构建失败,请检查系统中是否已安装 makegcc

以调试模式从源码构建

先通过 rustup 配置最新稳定版 Rust toolchain:

  1. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. rustup update

克隆仓库并构建 Yazi:

  1. git clone https://github.com/sxyazi/yazi.git
  2. cd yazi
  3. cargo 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

如果构建失败,请检查系统中是否已安装 makegcc