로컬에 JavaScript 설치하기

내 컴퓨터에서 Exercism 연습 문제를 풀 수 있도록 JavaScript를 로컬에 설치하는 방법을 배워봐요.


이 트랙은 JavaScript의 실행 환경을 제공하기 위해 전반적으로 Node.js를 사용해요. 즉, 컴퓨터에서 JavaScript를 실행하는 일은 모두 Node.js로 이루어진다고 가정해요.

트랙 요구 사항

많은 컴퓨터에 Node.js가 미리 설치되어 있거나, 이전에 설치되었거나, 다른 것의 의존성으로 설치되었을 수 있어요. 그래서 무엇이든 하기 전에 이미 설치되어 있는지 확인해 봐요:

  1. _터미널_을 열어요 (Terminal, cmd, Powershell, bash, ...)
  2. node -v

Node.js가 설치되어 있다면 버전이 표시돼요. 이 버전을 적어 둬요. Node.js가 설치되어 있지 않다면 오류가 출력돼요. 보통 'node' is not recognised 같은 내용이에요.

Node.js

Node.js가 미리 설치되어 있는 경우

Node.js 웹사이트에 접속해 봐요. 그러면 버전을 두 개 표시해요 (운영체제를 감지하면요. 그렇지 않으면 먼저 운영체제를 선택해요). node -v로 확인한 버전이 이 중 하나와 같다면 문제없어요. 같지 않다면 Node.js LTS를 사용하는 걸 권장해요. 업그레이드가 시스템의 무언가를 망가뜨릴까 걱정된다면, 모든 것이 괜찮은 것처럼 계속 진행해도 돼요. 예상치 못한 일이 생기면 지원을 해드리지 못할 수도 있어요.

Node.js가 설치되어 있지 않은 경우

Node.js를 설치하는 방법은 몇 가지가 있어요:

두 방법 모두 Windows, macOS, Linux를 지원해요. 무엇을 해야 할지 모르겠다면 설치 프로그램을 사용하는 게 가장 쉬워요.

  • LTS 버전을 사용하는 걸 권장해요. Node.js 웹사이트에서도 "대부분의 사용자"에게 _권장_으로 표시되어 있어요.
  • 웹페이지와 설치 프로그램의 안내를 따라 Node.js를 설치해요.

설치 확인

설치 프로그램이 끝나거나, 패키지 관리자 작업이 완료되거나, 바이너리를 복사하고 안내를 따랐다면, 모든 것이 잘 되었는지 확인해 보는 게 좋아요.

  1. _터미널_을 열어요 (Terminal, cmd, Powershell, bash, ...)
  2. node -v

버전이 웹사이트에 있는 것과 일치해야 해요.

[!NOTE] 새 터미널 창을 여는 게 중요해요. 이미 열려 있는 터미널 창은 설치가 끝난 뒤 새로 고쳐지지 않았을 수 있어요. 그러면 열려 있는 터미널은 새 프로그램이 설치된 걸 모르게 돼요.

[!IMPORTANT] > 도움말: 'node' is not recognised

공식 설치 프로그램을 사용했다면 PATH가 자동으로 설정되었을 거예요. 하지만 셸이 전역으로 설치된 모듈을 찾지 못하거나 Node.js를 소스에서 빌드했다면, PATH에 npm 바이너리가 포함되도록 수정해요.

macOS와 Linux에서는 ~/.bash_profile이나 ~/.zshrc에 다음을 추가하면 돼요:

export PATH=/usr/local/share/npm/bin:$PATH

Windows에서는 시작 메뉴를 열고 "environment variables"를 검색해요. PATH 항목을 편집해서 npm 바이너리 경로를 여기에 _추가_해야 해요. 보통 C:\Program Files\nodejs에 있어요. File Explorer로 여기를 찾아보면 node.exe, npm.bat, npx.bat이 있을 거예요.

열려 있는 터미널을 모두 닫고 새 터미널을 열어요.

corepack 활성화

이 트랙과 호환되는 버전 지정 패키지 관리자를 사용하려면 corepack을 한 번 활성화해야 해요:

corepack enable pnpm

연습 문제 요구 사항

운영체제에 맞는 Exercism CLI를 내려받으려면 이 안내를 따라요.

CLI를 설정하고 구성했다면, 첫 번째 연습 문제인 hello-world를 내려받아요:

exercism download --exercise=hello-world --track=javascript

그다음 각 연습 문제는 테스트를 실행할 도구가 필요해요. 각 연습 문제 디렉터리에서 다음 명령을 실행하면 설치할 수 있어요:

corepack pnpm install

이 트랙은 pnpm으로 전환했기 때문에 디스크 공간은 걱정하지 않아도 돼요. pnpm을 한번 살펴봐요. 패키지 버전마다 디스크에 단 하나의 복사본만 설치되도록 보장해 줘요.

그런데 corepack이 뭐고 왜 이게 동작할까요?

JavaScript 트랙을 완료하는 데는 이 정보가 필요 없어요. 하지만 방금 무슨 일이 일어났는지 알고 싶다면 다음 문단을 읽어 봐요:

이게 동작하는 이유는 corepack이 위 단계에서 설치한 Node.js에 함께 포함된 도구이기 때문이에요. pnpm이라는 패키지 관리자를 설치할 수 있어요. 시스템을 설정해 줘요. corepack 명령은 package.json 파일을 찾는데, 이 파일은 각 연습 문제 폴더에 있어요. 그런 다음 pnpm과 일치하는 packageManager를 확인하고 계속 진행해요. 필요하면 먼저 pnpm을 업그레이드해요. 이 파일에는 위에서 말한 "dependencies"도 나열되어 있는데, pnpm이 이를 내려받아 로컬 캐시에 넣어요.

package.json의 스크립트는 로컬 캐시의 바이너리를 사용하고, 바로 이 스크립트들이 exercise 설명에 나열된 대로 테스트를 실행하는 데 쓰여요.