DEV Community

Chan
Chan

Posted on • Edited on

개발 툴 버전 관리, mise 하나면 충분합니다

개발 환경 세팅 방법

node version management

프로젝트별로 사용하는 node.js의 버전을 따로 설치해서 관리하고 싶기에 nvm을 설치할 겁니다.

brew install nvm
Enter fullscreen mode Exit fullscreen mode

그리고 프로젝트 루트 디렉토리에 .nvmrc 파일을 생성해서 현재 프로젝트에서 어떤 node version을 사용해야하는지 알려줍니다.

22.0.1
Enter fullscreen mode Exit fullscreen mode

그리고 현재 열려있는 쉘 세션에서 해당 노드 버전을 사용하도록 매번 쉘을 열 때마다 다음 커맨드를 입력해줍니다.

nvm use
Enter fullscreen mode Exit fullscreen mode

쉘을 열 때마다 nvm use 명령어를 입력하기가 귀찮기 때문에 프로젝트의 node 버전을 시스템 기본 값을 설정해줍니다.

nvm alias default
Enter fullscreen mode Exit fullscreen mode

하지만 여전히 다른 프로젝트로 스위칭할 때마다 nvm alias default 명령어를 입력해야돼서 귀찮습니다.

package manager version management

프로젝트별로 사용하는 package manager의 버전을 따로 설치해서 관리하고 싶기에 corepack을 사용할 겁니다. node를 설치할 때 같이 설치되기 때문에, disabled 상태인 corepack을 활성화시키면 됩니다.

corepack enable
Enter fullscreen mode Exit fullscreen mode

위의 명령어를 실행하면, corepack은 프로젝트 루트 디렉토리의 package.json의 packageManager 필드를 기준으로 버전을 결정합니다. 그리고 package manager의 설치까지 해줍니다.

문제점

노드 버전 관리와 패키저 매니저 버전 관리를 할 때 다음과 같은 문제점이 발생합니다.

  1. 프로젝트를 한번 세팅할 때마다 nvm과 corepack이라는 두개의 도구를 사용해야 합니다. 세팅할 때만 사용하니 사용법을 자꾸 잊어버리게 되고 귀찮습니다.
  2. 프로젝트를 스위칭할 때마다 nvm alias default를 입력해서 쉘의 node 버전을 변경해야 하는 번거로움이 있습니다.

올인원 mise로 구원 받읍시다

보편적인 개발 도구들의 버전관리 도구입니다. javascript, python, ruby 등 다양한 언어에서 사용되는 개발 도구들의 버전 관리를 모두 지원합니다. 이를 사용해서 문제를 해결할 수 있습니다.

  1. nvm과 corepack을 사용하지 않고 mise.toml에 패키지 관리자 버전, 노드 버전을 명시하면 mise install 실행시 알아서 설치해줍니다.
  2. 프로젝트별로 node 버전을 수동으로 전환할 필요 없이 쉘 실행시 자동으로 프로젝트에 맞는 버전을 선택해줍니다.

지원하는 툴의 리스트는 https://mise.jdx.dev/registry.html#tools 에서 확인하실 수 있습니다.

macOS 사용자는 homebrew로 mise를 설치할 수 있습니다.

brew install mise
Enter fullscreen mode Exit fullscreen mode

mise가 제대로 설치되었는지 확인합니다.

mise --version
Enter fullscreen mode Exit fullscreen mode

새로운 쉘을 열 때마다 mise를 활성화하고 싶다면 다음 명령어를 입력해서, zsh config file에 반영되도록 다음 명령어를 실행하세요.

echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

vscode 또는 cursor 사용자라면 다음 명령어를 통해 eval "$(mise activate zsh)"가 .zshrc에 제대로 반영되었는지 확인할 수 있습니다.

code ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

mise로 설치 가능한 개발 도구의 버전을 확인하고 싶으면 다음 명령어를 입력하세요.

mise ls-remote [tool@version]
Enter fullscreen mode Exit fullscreen mode

mise로 현재 프로젝트에 개발 도구를 설치하고, config file에 추가하고 싶다면 다음 명령어를 입력하세요.

mise use [tool@version]
Enter fullscreen mode Exit fullscreen mode

현재 프로젝트 버전에 설치된 개발 도구의 버전을 확인하고 싶으면 다음 명령어를 입력하세요.

mise ls
Enter fullscreen mode Exit fullscreen mode

참고

https://www.daleseo.com/mise/

Top comments (0)