10,529
stars
+6+5+28
343
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
!Linux
!macOS
!Windows
Portable package manager for Neovim that runs everywhere Neovim runs.
Easily install and manage LSP servers, DAP servers, linters, and formatters.
:help mason.nvim
Latest version: v2.3.1
Table of Contents
- Introduction
- Installation & Usage
- Recommended setup for lazy.nvim
- Requirements
- Commands
- Registries
- Screenshots
- Firewall (socket.dev)
- Configuration
Introduction
[:h mason-introduction][help-mason-introduction]
mason.nvim is a Neovim plugin that allows you to easily manage external editor tooling such as LSP servers, DAP servers,
linters, and formatters through a single interface. It runs everywhere Neovim runs (across Linux, macOS, Windows, etc.),
with only a small set of external requirements needed.
Packages are installed in Neovim's data directory ([:h standard-path][help-standard-path]) by default. Executables are
linked to a single bin/ directory, which mason.nvim will add to Neovim's PATH during setup, allowing seamless access
from Neovim builtins (LSP client, shell, terminal, etc.) as well as other 3rd party plugins.
For a list of all available packages, see .
Installation & Usage
[:h mason-quickstart][help-mason-quickstart]
Install using your plugin manager of choice. Setup is required:
lua
require("mason").setup()
mason.nvim is optimized to load as little as possible during setup. Lazy-loading the plugin, or somehow deferring the
setup, is not recommended.
Refer to the Configuration section for information about which settings are available.
Recommended setup for lazy.nvim
The following is the recommended setup when using lazy.nvim. It will set up the plugin for you, meaning you don't have
to call require("mason").setup() yourself.
lua
{
"mason-org/mason.nvim",
opts = {}
}
Requirements
[:h mason-requirements][help-mason-requirements]
mason.nvim relaxes the minimum requirements by attempting multiple different utilities (for example, wget,
curl, and Invoke-WebRequest are all perfect substitutes).
The _minimum_ recommended requirements are:
- neovim = 0.10.0
- For Unix systems:
- git(1)
- curl(1) or GNU wget(1)
- unzip(1)
- GNU tar (tar(1) or gtar(1) depending on platform)
- gzip(1)
- For Windows systems:
- pwsh or powershell
- git
- GNU tar
- One of the following:
- [7zip][7zip]
- [peazip][peazip]
- [archiver][archiver]
- [winzip][winzip]
- [WinRAR][winrar]
Note that mason.nvim will regularly shell out to external package managers, such as cargo and npm. Depending on
your personal usage, some of these will also need to be installed. Refer to :checkhealth mason for a full list.
[7zip]: https://www.7-zip.org/
[archiver]: https://github.com/mholt/archiver
[peazip]: https://peazip.github.io/
[winzip]: https://www.winzip.com/
[winrar]: https://www.win-rar.com/
Commands
[:h mason-commands][help-mason