Install Neovim on Linux with Packages, AppImage or Tar Archives

Install Neovim on Linux with Packages, AppImage or Tar Archives

After adding a newer Neovim, the regular nvim command can still open the older copy. I was curious how to try the new version without retiring the editor already in place.

A read-only lookup lets you see what will open before changing anything, keeping your current editor as a fallback. The first check is command -v nvim.

Check which Neovim command your shell will open

If no alias or function shadows nvim, the shell searches PATH from left to right and launches the first matching executable.

command -v nvim
type -a nvim

command -v shows the command your shell resolves, while type -a lists the matching aliases, functions, and executables. If the name resolves to a file, put that file’s bin directory first in PATH only when it is the build you want to open.

Choose a Neovim installation source

Neovim is a terminal text editor based on Vim, with its own executable and user configuration, and the official Neovim install page lists distribution packages and upstream downloads.

RouteUse it whenWhere it livesWho updates it
Distribution packageYou want the repository version and package-manager lifecycleSystem package pathsYour Linux distribution
Upstream tar archiveYou need the upstream build in a separate directoryA directory you ownYou replace the extracted directory
AppImageYou want one file to run without a system packageA file you ownYou replace the AppImage file

Choose the package when its version meets your needs. The Ubuntu 24.04 Noble package page lists Neovim 0.9.5, while upstream stable is 0.12.5, so an upstream download fits a plugin that requires a newer version.

Check the architecture before choosing an upstream build

The upstream archive and AppImage have separate x86_64 and arm64 builds, so check uname before choosing one. This prevents downloading an executable built for another CPU.

uname -m
uname resultAsset suffix
x86_64x86_64
aarch64 or arm64arm64
  • A distribution package selects the matching architecture for you.
  • For another CPU type, use your distribution package unless Neovim publishes a matching upstream asset.

An upstream archive also needs a directory you can write to and a PATH entry that points to its bin directory. Keep it separate from a package-managed copy so you can tell which one the shell launches.

Install Neovim from a package or upstream release

Use a distribution package when its repository version fits your needs, because the package manager resolves dependencies and owns future upgrades.

1. Install the distribution package

The package manager installs a package named neovim, then makes the executable available as nvim.

DistributionInstall command
Ubuntu or Debiansudo apt install neovim
Fedorasudo dnf install neovim
Arch Linuxsudo pacman -S neovim

The package version follows your distribution release, not Neovim’s upstream release schedule. Arch users can follow the Pacman package synchronization and upgrade commands when they need to refresh packages and upgrade Neovim together.

2. Install the upstream tar archive

The tar archive keeps Neovim’s executable and runtime files together, so extract the complete directory instead of copying only the binary. This command maps x86_64 or ARM Linux to the official asset name and stores the files under your home directory.

case "$(uname -m)" in
  x86_64) asset=x86_64 ;;
  aarch64|arm64) asset=arm64 ;;
  *) printf 'Unsupported architecture: %s\n' "$(uname -m)" >&2; exit 1 ;;
esac
curl -fLO "https://github.com/neovim/neovim/releases/latest/download/nvim-linux-${asset}.tar.gz"
mkdir -p "$HOME/.local/opt"
tar -xzf "nvim-linux-${asset}.tar.gz" -C "$HOME/.local/opt"
export PATH="$HOME/.local/opt/nvim-linux-${asset}/bin:$PATH"
nvim --version

That case statement maps uname’s result to the x86_64 or arm64 suffix, so curl fetches the matching archive and tar extracts its executable and runtime files under .local/opt. The curl download options reject failed HTTP responses, and the tar extraction options choose its destination.

I ran both upstream arm64 formats and each reported NVIM v0.12.5. The Release line distinguishes this build from a distribution package, which can carry another version.

Neovim version command reporting NVIM v0.12.5 and a Release build
The upstream archive reports its Neovim version and LuaJIT build.

For a persistent PATH change, add the matching directory to ~/.bashrc for Bash or ~/.zshrc for Zsh, replacing the asset variable with x86_64 or arm64. Open a new terminal after saving the file, then use the apt package listing command before moving an Ubuntu-managed copy behind an upstream build.

3. Try the upstream AppImage

An AppImage is a single executable file, so you can run it without extracting a directory or installing a system package. Use the asset name for the architecture you found above.

case "$(uname -m)" in
  x86_64) asset=x86_64 ;;
  aarch64|arm64) asset=arm64 ;;
  *) printf 'Unsupported architecture: %s\n' "$(uname -m)" >&2; exit 1 ;;
esac
curl -fLO "https://github.com/neovim/neovim/releases/latest/download/nvim-linux-${asset}.appimage"
chmod u+x "nvim-linux-${asset}.appimage"
mkdir -p "$HOME/.local/bin"
mv -i "nvim-linux-${asset}.appimage" "$HOME/.local/bin/nvim"
export PATH="$HOME/.local/bin:$PATH"
command -v nvim
nvim --version

mv -i asks before replacing an existing nvim file in that directory. The command then adds your user-owned bin directory to PATH and prints the executable and version. To keep nvim available in later terminals, add this export to your Bash or Zsh startup file.

export PATH="$HOME/.local/bin:$PATH"

The AppImage installation guide covers desktop integration.

Fix a wrong version or missing nvim command

When the wrong build starts, use the earlier command lookup before reinstalling. Bash searches PATH from left to right, so an earlier package or manual copy can hide the one you meant to run.

SymptomWhat to check
The shell cannot find nvimAdd the installed bin directory to PATH or install the package named neovim.
An older version startsCheck every nvim match and the order of PATH entries.
The AppImage reports a FUSE errorExtract the image and run its AppRun file from the extracted directory.
The binary reports a GLIBC version errorUse a package built for your distribution or a supported upstream asset.

Neovim’s upstream instructions provide an extraction route when FUSE is unavailable. Run it in the directory containing the downloaded AppImage, then launch the extracted AppRun executable.

./nvim-linux-arm64.appimage --appimage-extract
./squashfs-root/AppRun --version

For an x86_64 download, replace arm64 with x86_64 and run the commands from the directory containing that file. Extraction avoids the mount step but does not make a binary compatible with an older glibc.

Removing the archive or AppImage leaves your Neovim user configuration in its separate XDG directory.

Keep one Neovim installation ahead in PATH

Let one install source own updates. If you keep both a distribution package and an upstream copy, put the one you intend to use first in PATH and confirm its version before configuring plugins.

nvim --clean

Neovim opens without loading your usual configuration, which gives you a clean starting point. The Vim-family save and quit commands work here too.

Neovim installation questions

Neovim’s executable and user configuration live in separate locations, so removing the editor does not automatically remove your settings.

Does installing Neovim replace Vim?

No. Neovim uses the nvim executable and keeps its user configuration separate from Vim’s executable and configuration.

Which Linux install gives me the current stable Neovim release?

The upstream tar archive or AppImage follows Neovim’s stable release. A distribution package follows the version in that distribution’s repository, so check the result with nvim –version.

Can I run the Neovim AppImage without FUSE?

Yes. Run the AppImage with –appimage-extract, then start the extracted squashfs-root/AppRun file. This avoids the mount step but does not fix an incompatible glibc version.

Will removing Neovim delete my configuration?

The user configuration is stored separately under XDG_CONFIG_HOME/nvim, normally ~/.config/nvim. Removing an upstream archive or AppImage does not remove that directory, but check your distribution’s package-removal behavior before purging configuration files.