-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
Errors are written to stderr and mapped to a stable exit code: 2 means you
can fix it in your config or flags, 1 means something went wrong at run time.
no config found; pass --config, set NERD_FONTS_INSTALLER_CONFIG, or create one of: β¦
The message lists every path that was searched, computed live for your machine. Three ways forward:
# 1. create one
mkdir -p ~/.config/nerd-fonts-installer
$EDITOR ~/.config/nerd-fonts-installer/config.yaml
# 2. point at one
nerd-fonts-installer --config /path/to/fonts.yaml
# 3. skip the file entirely
nerd-fonts-installer --interactiveSee βοΈ Configuration for the full discovery order.
You passed --interactive from a pipe, a CI job, or a cron run. A TUI has
nothing to attach to there. Use a config file instead:
NERD_FONTS_INSTALLER_CONFIG=/etc/fonts.yaml nerd-fonts-installerThe release value does not match any release tag. Check the spelling β tags
include the leading v (v3.4.0, not 3.4.0). To see what exists, use latest
once and read the header line of --font-names:
nerd-fonts-installer --font-names | head -1The same name appears twice under families:. Remove one. Comparison is on the
trimmed name, so Hack and Hack count as the same family.
A family name contained a path separator, .., a leading -, or another
character that must never reach a filesystem path or a URL. This is a deliberate
guard, not a bug. Family names are plain archive names:
families:
- JetBrainsMono # β
- ../../etc # β rejectedNearly always a wrong family name or release tag β a family that exists in
v3.4.0 may not exist in v3.1.0.
nerd-fonts-installer --font-namesCopy the exact name from that output. Note the archive name is JetBrainsMono,
while the installed font is called JetBrainsMono Nerd Font β you use the
first in your config and select the second in your terminal.
The downloaded archive did not match the digest in the release's SHA-256.txt
manifest, and the install was aborted before anything was written. Usually a
truncated or proxy-mangled download β just re-run. If it repeats, check whether
a corporate proxy or transparent cache is rewriting the response.
A missing manifest is different: you get a warning
(Checksum manifest unavailable β¦) and the install continues. A mismatch is
always fatal.
Guards against zip bombs and pathological archives:
| Limit | Value | Applies to |
|---|---|---|
| Download size | 768 MiB | One downloaded .zip
|
| Font file size | 128 MiB | One extracted .ttf/.otf/.ttc
|
| Archive total | 2 GiB | Total uncompressed bytes per archive |
Real Nerd Font archives are nowhere near these. Hitting one means the URL is not serving what you expect.
The archive downloaded and opened, but contained no .ttf, .otf, or .ttc.
Check that the family name refers to a font archive rather than a source or
documentation asset in the release.
fc-cache was found but exited non-zero. The fonts are already installed at this
point β only the cache refresh failed. Run it yourself to see the real error:
fc-cache -f -v ~/.local/share/fonts/NerdFontsIf fc-cache is simply not installed, that is not an error: you get
fc-cache is not available; skipping font cache refresh. and the run succeeds.
Install fontconfig if you want the refresh.
Three things to check, in order:
-
Refresh the cache
fc-cache -f ~/.local/share/fonts/NerdFonts fc-list | grep -i "nerd font" | head
-
Restart the application. Terminals and editors read the font list at startup. GNOME, KDE, and macOS may need a logout for every app to notice.
-
Select the patched name. Installing is only half the job:
JetBrainsMono Nerd Font Hack Nerd Font Mono FiraCode Nerd Font PropoMonovariants force single-width glyphs (best for terminals);Propouses proportional icon widths (better in editors and UI).
The font is not actually selected, or the app overrides it. In VS Code, remember
terminal.integrated.fontFamily is separate from editor.fontFamily. In tmux,
the outer terminal's font is what matters.
For the picker itself, drop to a simpler icon set:
nerd-fonts-installer --interactive --icons asciiThe destination is not writable by your user. Prefer a per-user directory:
destination: ~/.local/share/fonts/NerdFontsInstalling system-wide (/usr/share/fonts/...) needs elevated privileges and is
generally not what you want for a personal font set.
--font-names and the picker call the public GitHub API, which allows 60
unauthenticated requests per hour per IP. On a shared or NAT'd network you can
hit that. Wait for the window to reset, or pin release: in your config so a
plain install does not need to list releases.
Run with --dry-run first β it shows exactly which URLs and paths the tool
resolved β and include that output plus nerd-fonts-installer --version when
you open an issue.
Next: β FAQ Β· ποΈ Architecture
MIT licensed Β· Fonts by ryanoasis/nerd-fonts Β· TUI by Charm
Getting started
Reference
Help
Internals