자바스크립트
개발 환경 설정
Node 설치: asdf-nodejs

node 설치 | 경로 확인, asdf-nodejs로 여러 버전 설치 방법

이번 포스팅에서는, 자바스크립트 개발 환경을 간단히 살펴보고, node, npm, yarn 까지 설치하는 최적의 방법을 정리하려고 합니다. 특히 버전 매니저를 이용해 설치하기 때문에, 향후 여러 버전의 node 를 사용할 때를 대비할 수 있는 좋은 방법입니다.

1. 자바스크립트 개발 환경 이해

자바스크립트(이하 JS)는 웹브라우저에서 HTML에 동적인 기능을 추가하기 위한 언어로 만들어졌습니다. 그래서 JS 코드는 웹브라우저 안에서만 실행할 수 있었습니다.

그런데 2009년, Ryan Dahl 이 크롬 브라우저의 V8 엔진을 기반으로 한 node.js 라는 JS 런타임을 발표합니다. 이제 웹브라우저 밖에서도 JS를 구동할 수 있게 된 것이죠.

nodejs logo

node 를 발판 삼아, JS는 단시간 내에 주류 언어로 자리잡습니다. 특히, 쉬운 문법, 강력한 비동기 성능, 이벤트 루프 구조, 방대한 커뮤니티가 지원하는 라이브러리 덕분에, 웹 뿐만 이나라 모든 플랫폼에서 개발자가 사랑하는 언어 중 하나가 되었습니다. 이러한 JS 개발은 어떤 플랫폼이든지 node를 설치하는 것부터 시작합니다. Java 개발이 JDK 설치에서부터 시작하는 것처럼 말이죠.

node 를 설치하는 가장 간단한 방법은 공식 홈페이지에서 인스톨러 파일을 내려받아 실행하는 것입니다. 하지만, 이 방법으로 설치하면, 여러 버전의 node가 필요할 때, 필히 번거로운 설정 과정을 거쳐야 합니다. 이러한 문제를 해결하기 위해 여러 버전의 JS 설치와 변경을 도와주는 다양한 버전 매니저가 존재합니다.

우리가 사용할 버전 매니저는 asdf-nodejs 입니다.

2. asdf-nodejs

asdf-nodejs는 asdf에서 node.js를 관리하도록 하는 플러그인입니다. 우리는 asdf에 다양한 언어와 개발 도구 플러그인을 설치해서, 하나의 프로그램으로 거의 모든 언어와 도구의 버전 관리를 할 수 있습니다. 더 자세한 내용은 asdf 포스팅을 참고해주세요.

asdf-nodejs는 asdf팀에서 공식적으로 유지보수하는 4개의 플러그인 중 하나입니다. 그러니 신뢰하고 사용하셔도 좋습니다. 이제부터는 위 포스팅을 통해 asdf 설치와 설정을 완료했다는 것을 전제하고 진행하겠습니다.

3. asdf-nodejs 플러그인 설치 방법

이후 모든 과정은 맥OS와 윈도우에서 동일하게 동작합니다. 각 OS에서 사용하는 터미널을 열고 아래 명령어를 입력해 플러그인을 추가합니다.

asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git

별다른 에러 메시지가 출력되지 않으면 정상적으로 설치된 것입니다. 플러그인이 잘 동작하는지 확인하기 위해 설치할 수 있는 모든 node 버전을 출력하는 다음 명령어를 입력합니다.

asdf list all nodejs

실행 결과: asdf list all nodejs 결과

위처럼 수많은 node 버전이 출력될 것입니다. 특정한 버전이 필요한 경우에는 원하는 버전이 설치가능한지 확인해보시기 바랍니다. 그렇지 않다면, 당장 배포할 서비스에는 최신 LTS(Long-Term Support) 버전을, 아니면 최신 Current 버전을 설치하시면 됩니다.

혹시나 라이브러리 호환 문제가 발생하면 버전을 쉽게 변경할 수 있으니 가벼운 마음으로 설치합니다.

특정 조건의 nodejs 버전만 출력

위와 같이, asdf list all nodejs [특정_문자열] 명령어로 특정 문자열이 포함된 버전만 출력할 수도 있습니다.

4. asdf-nodejs로 최신 node 설치

설치할 node 버전을 결정했다면 이제 설치해보도록 하겠습니다. 저는 LTS 버전을 설치하려고 합니다. list all 명령어가 출력하듯이, 최근 node LTS 버전은 저마다 코드 네임이 붙여져 있습니다. 최신 LTS 코드 네임은 아래와 같이 nodejs github 내 CHANGELOG.md 파일 (opens in a new tab) 이나 CODENAMES.md 파일 (opens in a new tab)에서 확인가능합니다.

nodejs changelog in github

node를 설치하는 명령어는 다음과 같습니다.

asdf install nodejs [버전_이름]

[버전_이름]에는 정확한 버전 훅은 코드네임 모두 입력할 수 있습니다. ltslatest 를 입력해서 각각 최신 LTS 버전 혹은 Current 버전을 알아서 설치할 수도 있고요.

![최신 LTS 버전 설치

설치 후에는. 아래 명령어로 내 컴퓨터에 설치한 버전을 확인합니다.

asdf list nodejs

실행 결과: ![설치한 노드 버전 확인

5. node js 설치 경로 확인

asdf-nodejs로 설치한 여러 버전의 node는 모두 ~/.asdf/installs/nodejs 안에 저장되어 있습니다. 다음의 명령어로 특정 버전의 설치 경로도 가져올 수 있습니다.

asdf where nodejs [버전_이름]

실행 결과: node 설치 경로 확인

ls -al 명령어로 보니, 코드네임을 사용해 설치한 경우, 정확한 버전을 설치하고 그 버전을 가리키는 링크를 생성하는 것도 확인할 수 있네요.

6. 설치한 node 버전으로 설정

node 다운로드 및 설치를 완료했으니, 설치한 node 버전을 사용하도록 컴퓨터에 설정하습니다. asdf-nodejs는 다음의 3가지 범위로 원하는 node를 설정할 수 있게 합니다.

  • 현재 쉘에서 사용
  • 현재 디렉토리에서 사용
  • 컴퓨터 전역에서 사용

3가지 범위가 모두 설정되어 있다면, 쉘, 디렉토리, 전역 순으로 높은 우선순위를 가집니다.

6.1. 현재 쉘에서 사용

현재 쉘에서만 사용하도록 설정하는 명령어는 다음과 같습니다.

asdf shell nodejs [버전_이름]

이 경우, 현재 열려 있는 터미널을 종료해서 쉘을 닫아버리면, 설정값이 초기화됩니다.

실행 결과: asdf shell nodejs  결과

쉘 재실행 후 노드 버전 확인: 터미널 재실행 후 노드 버전 확인

위 예시를 보면, 원래 컴퓨터에서 사용하던 19 버전의 node가 asdf shell 명령어 때문에 18 버전으로 변경된 것을 확인할 수 있습니다. 그 후, 터미널을 재실행해서 새로운 쉘이 열렸을 때, 설정은 초기화되었습니다.

6.2. 현재 디렉토리에서 사용

다음은 현재 디렉토리에서 사용하는 node 버전을 설정하는 방법입니다. 여러 프로젝트에서 다른 버전을 사용한다면, 자동으로 설정한 버전을 불러오기 때문에 매우 유용하게 사용할 수 있습니다. 명령어는 다음과 같습니다.

asdf local nodejs [버전_이름]

예시로 확인해보겠습니다.

실행 결과: node 특정 디렉토리에만 설정

node-test라는 디렉토리를 만들고 명령어를 이용해 18 버전의 node를 사용하도록 설정했습니다. 상위 디렉토리에서 사용하는 node는 19 버전입니다. 하지만 node-test 디렉토리에 들어가면 설정했던 18 버전으로 자동으로 변경되는 것을 확인할 수 있습니다.

6.3. 컴퓨터 전역에서 사용

마지막으로, 컴퓨터 전역에서 사용하도록 설정하는 방법입니다. 명령어는 다음과 같습니다.

asdf global nodejs [버전_이름]

역시, 예시로 확인하겠습니다.

실행 결과: node 버전 변경

원래 19 버전으로 설정되어 있었고, asdf list nodejs 명령어를 입력했을 때 설정된 버전 앞에 * 모양이 찍혀 있습니다. 그 후, global 명령어로 LTS 버전으로 변경했고, 해당 버전으로 변경된 것을 확인할 수 있습니다. 같은 명령어로 다시 19 버전으로 변경해도 정상적으로 변경됩니다.

7. 설정한 node js 실행 파일의 경로 확인

참고로, asdf로 설정한 node의 실행 파일 경로는 항상 ~/.asdf/shims/node 입니다. asdf는 흔히 shim이라고 부르는 테크닉을 이용해 설정한 버전의 node를 실행합니다. 경로는 아래와 같이 확인가능합니다.

which node

실행 결과: node 실행파일 경로 확인

8. npm 설치

8.1. npm 버전 확인

node에서 사용하는 가장 가장 대표적인 패키지 매니저인 npm은 node 설치 시 함께 설치됩니다. node 버전에 따라 서로 다른 버전의 npm이 설치되며, 설치한 패키지 역시 각각 다르게 관리됩니다. node 버전을 변경한 후 npm --version 명령어로 버전 확인을 하면, node 버전에 따라 npm 버전도 다른 것을 확인할 수 있습니다.

실행 결과: npm 버전 확인

8.2. npm 설치 경로 확인

설치된 npm 실행 파일의 경로는 ~/.asdf/shims/npm 이며, 실제 설치된 경로는 ~/.asdf/installs/nodejs/[버전_이름]/lib/node_modules/npm/bin/npm-cli.js 입니다.

npm 설치 경로 확인

8.3.. npx 설치 경로 확인

설치된 npm 실행 파일의 경로는 ~/.asdf/shims/npx 이며, 실제 설치된 경로는 ~/.asdf/installs/nodejs/[버전_이름]/lib/node_modules/npm/bin/npx-cli.js 입니다.

9. yarn 설치

npm과 함께 가장 많이 쓰이는 JS 패키지 매니저 중 하나인 yarn 역시, asdf 로 쉽게 설치가 가능합니다. 그러나, yarn은 언제나 node를 먼저 설치한 후 진행되기 때문에 asdf로 설치하면 굳이 node를 또 설치하게 됩니다. 따라서 각 node 버전의 npm을 이용해 전역 패키지로 설치하는 방법을 추천합니다.

전역으로 node가 설치되어 있는 상태에서 아래 명령어를 입력합니다.

npm install --global yarn

실행 결과: npm으로 yarn 전역 설치

정상적으로 설치가 완료되면, 아래 명령어로 패키지 목록을 확인합니다.

npm list --global

실행 결과: npm list --global 결과

9.1. yarn 버전 확인

마지막으로 yarn 버전 확인 명령어의 결과를 확인합니다.

yarn --version

실행 결과: yarn 버전 확인

10. 마치며

asdf-nodejs는 node와 npm 그리고 yarn을 설치하기에 가장 좋은 방법 중 하나입니다. 특히, 특정 폴더에 node 버전을 지정하는 기능과 컴퓨터 전역에서 사용하는 버전을 손쉽게 변경하는 기능은 앞으로 숱하게 사용할 것이라 생각합니다. 이번 포스팅이 JS 개발을 쉽고 빠르게 시작하는 데 도움이 되길 바랍니다.

copyright for Javascript asdf-nodejs install

© 2023 All rights reserved.