티스토리 뷰

요즘 Nodejs 개발 환경 구성하기


Nodejs는 프론트엔드 개발자가 가장 먼저 설치해야 할 javascript 런타임 프로그램 입니다. 옛날에는 공식 홈페이지에 들어가서 설치하면 설치 파일을 다운로드 받아서 설치하였습니다. 하지만 요즘에는 Nodejs 버전을 관리하는 커맨드 라인 툴을 통해서 받는 형식이 보편화되고 있습니다.
이번 시간에는 예전과 달리 간단하게 Nodejs를 설치하고, 버전을 관리하는 방법에 대해서 이야기 해보려고 합니다.

 

CLI로 설치하기

 

Nodejs 공식 다운로드 페이지를 확인하면, 설치하려는 Nodejs 버전, OS, Nodejs 버전 매니저 및 패키지 매니저를 설정하여 다운로드 할 수 있는 방법을 CLI로 아주 친절하게 보여주고 있습니다.
초창기에는 정말 단순하게 설치 파일 다운로드 받아서 설치하는 방식이었습니다. 정말 편해졌어요~

 



저는 아래와 같이 CLI를 구성해서 활용합니다.

 

# fnm 다운로드 및 설치:
curl -o- https://fnm.vercel.app/install | bash

# Node.js 다운로드 및 설치:
fnm install 22

# Verify the Node.js version:
node -v # Should print "v22.21.0".

# pnpm 다운로드 및 설치:
corepack enable pnpm

# pnpm 버전 확인:
pnpm -v

 

공식 다운로드 문서를 자세히 보면 Nodejs에 버전에 LTS(Long term support)가 보입니다. 그리고 옆에 OS 선택에는 Windows, Mac, Linux 등이 있네요. 저는 WSL 환경을 활용하기 때문에 Linux로 설정합니다.

그리고 그 옆에는 Nodejs 버전 매니저들이 아래와 같이 나열되어 있습니다.

  • Official : nvm, fnm, Docker
  • Unofficial : Brew, Chocolately

초창기에는 개발 환경이 Windows라서 Chocolatey를 활용하다가 초창기 nodejs 전용 버전 매니저인 nvm을 활용하려고 했으나, windows는 지원하지 않아서 nvm-windows를 쓰기도 했었죠.

 

요즘에는 WSL에서 작업을 하다보니 편하게 nvm을 쓰다가 최근에는 Rust로 만들어서 더 빠르다고 하는fnm을 쓰고 있습니다.

예전에는 패키지 매니저로 npm을 활용했지만, 요즘엔 yarn, yarn berrry를 거쳐서 pnpm을 사용하고 있어요.

 

fnm

fnm은 Rust로 만들어진 빠르고 간편한 Nodejs 버전 매니저입니다.

 

 

아래 주로 사용하는 명령어를 통해서 node를 설치하거나, 편하게 버전을 변경할 수 있습니다.

 

fnm 설치 이슈

공식 문서의 안내와 같이 fnm Node 버전 매니저를 설치하는 과정에서 Not installing fnm due to missing dependencies.라는 에러가 표시되면서 정상적으로 설치되지 않는 현상이 있습니다. 아래와 같은 에러가 발생할 때는 unzip을 설치해주시기 바랍니다!


$ sudo curl -fsSL https://fnm.vercel.app/install | bash

Checking dependencies for the installation script...
Checking availability of curl... OK!
Checking availability of unzip... Missing!
Not installing fnm due to missing dependencies.

sudo apt-get install unzip

 

corepack

위 CLI를 확인하면, corepack으로 설치된다는 것을 확인할 수 있습니다.
Corepack은 Nodejs와 개발 중에 사용할 패키지 매니저 사이의 브릿지 역할을 하는 런타임 종속성 없는 Nodejs 스크립트라고 이야기하고 있어요. yarn, npm, pnpm 설치 없이 사용 가능하게 만들어줍니다!

 

이전에는 보통 우리 프로젝트에서는 패키지 매니저로 어떤 것 사용하니 이거 설치하세요. 이런 식이였습니다. 프로젝트마다 다르고 프로젝트로 이동 할 때마다 새로 설치하거나 하는 번거러움이 있었습니다. 그런데 프로젝트에 사용하는 어떤 버전의 패키지 매니저인지 넣어서 특정 패키지 매니저를 자동으로 설치하여 활용할 수 있도록 편하게 개발 환경 통합에 기여하고 있습니다.

 

# 예시) package.json
{
  "packageManager": "yarn@3.2.3+sha224.953c8233f7a92884eee2de69a1b92d1f2ec1655e66d08071ba9a02fa"
}

 

corepack enable

 

요즘 사용하는 Nodejs는 보통 corepack이 기본적으로 같이 있어서 바로 사용할 수 있어요. 이전에 전역으로 설치한 패키지 매니저가 있다면 삭제하시고 진행하시면 되겠습니다.

 

마치며

시간이 흐를수록 파편화 되어 있던 개발 환경 설정들이 통합되고 간단하게 변경되고 있는 것을 느꼈습니다. 초창기 기술 스택은 자유롭게 빠르게 발전해 온 것 같습니다.

 

하지만, 빠르게 발전해 오면서 열정 넘치는 춘추전국 시대 기술 생태계가 점점 표준화되고 정돈되면서 성숙한 기술 생태계로 합의점을 이루어 가는 것 같습니다. 이로서 개발자들은 더욱 안정적인 개발 환경 및 기술을 가져가 정말 중요한 비즈니스 서비스에 집중 할 수 있게 된 것 같습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함