개발자라면 자신이 사용하는 도구와 라이브러리를 쉽게 설치하고 관리할 수 있는 방법을 찾는 것이 중요합니다. 특히 Neovim을 사용하는 개발자라면, mason.nvim이라는 놀라운 패키지 관리자를 주목할 필요가 있습니다. mason.nvim은 Neovim에서 LSP 서버, DAP 서버, 린터, 포매터 등을 손쉽게 설치하고 관리할 수 있게 해주는 경량 패키지 관리자입니다.

이 글에서는 mason.nvim의 주요 기능과 설치 방법, 기본 사용법을 상세히 소개하고, 실제 개발 환경에서 어떻게 활용할 수 있는지를 살펴보겠습니다.

mason.nvim의 주요 기능

  • 다양한 플랫폼 지원: mason.nvim은 Linux, macOS, Windows 등에서 작동합니다. 이를 통해 다양한 환경에서 동일한 패키지 관리 경험을 제공합니다.
  • 간편한 설치 및 관리: LSP 서버, DAP 서버, 린터, 포매터 등을 간편하게 설치하고 관리할 수 있습니다.
  • 자동 경로 설정: 설치된 패키지는 Neovim의 데이터 디렉토리에 위치하며, 자동으로 PATH에 추가됩니다. 이로 인해 Neovim의 내장 기능(예: LSP 클라이언트, 쉘, 터미널)과 다른 플러그인에서도 쉽게 접근할 수 있습니다.
  • 설치 및 사용법

    설치 방법

    mason.nvim은 다양한 플러그인 관리자를 통해 설치할 수 있습니다. 여기서는 Packer와 lazy.nvim을 예로 들겠습니다.
    1. Packer를 사용하는 경우:
    2. use 'mason-org/mason.nvim'
    3. lazy.nvim을 사용하는 경우:
    4. {
          "mason-org/mason.nvim",
          opts = {}
      }

      기본 설정

      모든 설치 후에는 mason.nvim을 설정해야 합니다. 다음의 코드를 init.lua에 추가하여 설정할 수 있습니다.

      require("mason").setup()
      참고: mason.nvim은 가능한 적은 리소스를 로드하도록 최적화되어 있으므로, 지연 로드를 권장하지 않습니다.

      필수 요구 사항

      mason.nvim을 사용하기 위해서는 다음과 같은 요구 사항을 충족해야 합니다.
    5. Neovim >= 0.10.0
    6. Unix 시스템의 경우:
    7. - git - curl 또는 GNU wget - unzip - GNU tar - gzip

    8. Windows 시스템의 경우:
- PowerShell

- git - GNU tar - 7zip, peazip, archiver, winzip 또는 WinRAR 중 하나

이 외에도 사용자의 필요에 따라 추가 패키지를 설치해야 할 수 있습니다. 이에 대한 자세한 정보는 :checkhealth mason을 통해 확인할 수 있습니다.

기본 사용법

mason.nvim의 설치가 완료되면, 다음과 같은 명령어를 통해 LSP 서버나 린터를 설치할 수 있습니다.
-- LSP 서버 설치
: MasonInstall <package_name>

-- 설치된 패키지 목록 확인
: Mason

또한, 설치한 패키지를 업데이트하거나 제거하는 것도 간편하게 할 수 있습니다.

-- 패키지 업데이트
: MasonUpdate

-- 패키지 제거
: MasonUninstall <package_name>

실무에서의 활용 시나리오

예를 들어, TypeScript 개발을 위한 설정을 하고 싶다면 다음과 같은 과정을 거칠 수 있습니다.

  • mason.nvim을 통해 typescript-language-server를 설치합니다.
  • 설치 후, Neovim에서 TypeScript 파일을 열면 자동으로 LSP가 활성화되어 코드 완성, 에러 확인 등의 기능을 사용할 수 있습니다.
  • 이처럼 mason.nvim을 통해 필요한 도구를 손쉽게 설치하고 관리함으로써 개발 효율성을 극대화할 수 있습니다.

    비슷한 도구와의 비교

    패키지 관리자로서 mason.nvim과 유사한 도구로는 nvim-lsp-installer와 vim-plug가 있습니다. 그러나 mason.nvim은 외부 도구의 설치 및 관리에 더욱 중점을 둔 반면, nvim-lsp-installer는 LSP 서버 설치만을 전문적으로 다루고 있습니다. 따라서 더 다양한 도구를 관리하고 싶은 경우 mason.nvim이 더 적합합니다.

    마무리

    mason.nvim은 Neovim 사용자에게 필수적인 도구로, 다양한 외부 패키지를 손쉽게 관리할 수 있는 기능을 제공합니다. LSP 서버, DAP 서버, 린터 및 포매터를 설치하고 관리해야 하는 개발자라면 꼭 사용해보기를 추천합니다.

    더 많은 정보와 설치를 원하신다면 mason.nvim GitHub 페이지를 방문해 주세요.