WSL 2를 사용하여 Node.js 개발 환경 설치Set up your Node.js development environment with WSL 2

다음은 WSL(Linux용 Windows 하위 시스템)을 사용하여 Node.js 개발 환경을 설치하는 방법을 안내하는 단계별 가이드입니다.The following is a step-by-step guide to help you get your Node.js development environment set up using Windows Subsystem for Linux (WSL).

Docker Desktop을 실행하는 기능을 비롯하여 성능 속도 및 시스템 호출 호환성이 크게 향상될 수 있으므로 업데이트된 WSL 2를 설치하고 실행하는 것이 좋습니다.We recommend that you install and run the updated WSL 2, as you will benefit from significant improvements in performance speed and system call compatibility, including the ability to run Docker Desktop. 많은 Node.js 웹 개발용 npm 모듈과 자습서는 Linux 사용자를 위해 작성되었으며, Linux 기반 패키징 및 설치 도구를 사용합니다.Many npm modules and tutorials for Node.js web development are written for Linux users and use Linux-based packaging and installation tools. 대부분의 웹앱은 Linux에도 배포되므로 WSL 2를 사용하면 개발 환경과 프로덕션 환경 간에 일관성을 유지할 수 있습니다.Most web apps are also deployed on Linux, so using WSL 2 will ensure you have consistency between your development and production environments.

참고

Windows에서 직접 Node.js를 사용하는 경우 또는 Windows Server 프로덕션 환경을 사용할 계획인 경우 Windows에 직접 Node.js 개발 환경 설치 가이드를 참조하세요.If you are committed to using Node.js directly on Windows, or plan to use a Windows Server production environment, see our guide to set up your Node.js development environment directly on Windows.

WSL 2 설치Install WSL 2

WSL 2를 사용하고 설치하려면 WSL 설치 문서의 단계를 따르세요.To enable and install WSL 2, follow the steps in the WSL install documentation. 이 단계에는 Linux 배포판(예: Ubuntu) 선택이 포함됩니다.These steps will include choosing a Linux distribution (for example, Ubuntu).

WSL 2와 Linux 배포판을 설치했으면 Linux 배포판(Windows 시작 메뉴에서 찾을 수 있음)을 열고 lsb_release -dc 명령을 사용하여 버전과 코드 이름을 확인합니다.Once you have installed WSL 2 and a Linux distribution, open the Linux distribution (it can be found in your Windows start menu) and check the version and codename using the command: lsb_release -dc.

최신 패키지를 유지하기 위해 설치 직후를 포함하여 Linux 배포를 정기적으로 업데이트하는 것이 좋습니다.We recommend updating your Linux distribution regularly, including immediately after you install, to ensure you have the most recent packages. 이 업데이트는 Windows에서 자동으로 처리하지 않습니다.Windows doesn't automatically handle this update. 배포를 업데이트하려면 sudo apt update && sudo apt upgrade 명령을 사용합니다.To update your distribution, use the command: sudo apt update && sudo apt upgrade.

Windows 터미널 설치(선택 사항)Install Windows Terminal (optional)

새 Windows 터미널을 사용하면 여러 탭(여러 Linux 명령 프롬프트, Windows 명령 프롬프트, PowerShell, Azure CLI 간에 신속하게 전환), 사용자 지정 키 바인딩(탭 열기 또는 닫기, 복사+붙여넣기 등을 위한 바로 가기 키), 검색 기능 및 사용자 지정 테마(색 구성표, 글꼴 스타일 및 크기, 배경 이미지/흐림/투명도)를 사용할 수 있습니다.The new Windows Terminal enables multiple tabs (quickly switch between multiple Linux command lines, Windows Command Prompt, PowerShell, Azure CLI, etc), create custom key bindings (shortcut keys for opening or closing tabs, copy+paste, etc.), use the search feature, and custom themes (color schemes, font styles and sizes, background image/blur/transparency). 자세한 정보를 알아보세요.Learn more.

  1. 다음과 같이 Microsoft Store에서 Windows 터미널을 받습니다. Microsoft Store를 통해 설치하면 업데이트가 자동으로 처리됩니다.Get Windows Terminal in the Microsoft Store: By installing via the store, updates are handled automatically.

  2. 설치가 완료되면 Windows 터미널을 열고 설정을 선택한 다음, settings.json 파일을 사용하여 터미널을 사용자 지정합니다.Once installed, open Windows Terminal and select Settings to customize your terminal using the settings.json file.

    Windows 터미널 설정

nvm, node.js 및 npm 설치Install nvm, node.js, and npm

Node.js를 설치하는 여러 가지 방법이 있습니다.There are multiple ways to install Node.js. 버전이 매우 빠르게 바뀌므로 버전 관리자를 사용하는 것이 좋습니다.We recommend using a version manager as versions change very quickly. 작업하는 여러 프로젝트의 요구 사항에 따라 여러 버전 간에 전환해야 하는 상황이 많을 것입니다.You will likely need to switch between multiple versions based on the needs of different projects you're working on. 흔히 nvm으로 불리는 노드 버전 관리자는 여러 버전의 Node.js를 설치하는 가장 인기 있는 방법입니다.Node Version Manager, more commonly called nvm, is the most popular way to install multiple versions of Node.js. nvm을 설치하는 단계와 nvm을 사용하여 Node.js 및 npm(노드 패키지 관리자)을 설치하는 단계를 살펴보겠습니다.We will walk through the steps to install nvm and then use it to install Node.js and Node Package Manager (npm). 생각해 볼 수 있는 또 다른 버전 관리자도 있으며, 다음 섹션에서 설명하겠습니다.There are alternative version managers to consider as well covered in the next section.

중요

여러 유형을 설치하면 비정상적이고 혼란스러운 충돌이 발생할 수 있으므로, 항상 운영 체제에 설치된 기존 Node.js 또는 npm을 제거한 후 버전 관리자를 설치하는 것이 좋습니다.It is always recommended to remove any existing installations of Node.js or npm from your operating system before installing a version manager as the different types of installation can lead to strange and confusing conflicts. 예를 들어 Ubuntu의 apt-get 명령을 사용하여 설치할 수 있는 노드 버전은 오래된 버전입니다.For example, the version of Node that can be installed with Ubuntu's apt-get command is currently outdated. 이전 설치를 제거하는 방법에 대한 도움말은 ubuntu에서 nodejs를 제거하는 방법을 참조하세요.For help with removing previous installations, see How to remove nodejs from ubuntu.)

  1. Ubuntu 18.04 명령줄을 엽니다.Open your Ubuntu 18.04 command line.
  2. sudo apt-get install curl 명령을 사용하여 cURL(명령줄을 사용하여 인터넷에서 콘텐츠를 다운로드하는 데 사용되는 도구)을 설치합니다.Install cURL (a tool used for downloading content from the internet in the command-line) with: sudo apt-get install curl
  3. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash 명령을 사용하여 nvm을 설치합니다.Install nvm, with: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

참고

출시 당시에는 NVM v0.35.3이 사용 가능한 최신 버전이었습니다.At the time of publication, NVM v0.35.3 was the most recent version available. GitHub 프로젝트 페이지에서 최신 버전의 NVM을 확인할 수 있으며, 최신 버전만 포함하도록 위의 명령을 조정할 수 있습니다.You can check the GitHub project page for the latest release of NVM, and adjust the above command to include the newest version. cURL을 사용하여 최신 버전의 NVM을 설치하면 이전 버전이 대체되고, NVM을 사용하여 설치한 노드 버전은 그대로 유지됩니다.Installing the newer version of NVM using cURL will replace the older one, leaving the version of Node you've used NVM to install intact. 예를 들면 다음과 같습니다. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bashFor example: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

  1. 설치를 확인하려면 command -v nvm 명령을 입력합니다. 그러면 'nvm'이 반환됩니다. '명령을 찾을 수 없음' 메시지가 수신되거나 응답이 없으면 현재 터미널을 닫았다가 열고 다시 시도해 보세요.To verify installation, enter: command -v nvm ...this should return 'nvm', if you receive 'command not found' or no response at all, close your current terminal, reopen it, and try again. nvm github 리포지토리에서 자세한 정보를 알아보세요.Learn more in the nvm github repo.

  2. nvm ls 명령을 사용하여 현재 설치된 노드 버전을 나열합니다.List which versions of Node are currently installed (should be none at this point): nvm ls

    노드 버전을 표시하지 않는 NVM 목록

  3. nvm install node를 사용하여 Node.js 최신 릴리스를 설치합니다(최신 기능 개선 사항을 테스트하는 것이 목적이지만 이슈가 있을 가능성이 높음).Install the current release of Node.js (for testing the newest feature improvements, but more likely to have issues): nvm install node

  4. nvm install --lts 명령을 사용하여 Node.js의 안정적인 최신 LTS 릴리스를 설치합니다(권장).Install the latest stable LTS release of Node.js (recommended): nvm install --lts

  5. nvm ls를 사용하여 설치된 노드 버전을 나열합니다. 방금 설치한 두 가지 버전이 표시될 것입니다.List what versions of Node are installed: nvm ls ...now you should see the two versions that you just installed listed.

    LTS 및 현재 노드 버전을 보여주는 NVM 목록

  6. node --version 명령을 사용하여 Node.js가 설치되어 있는지 여부 및 현재 기본 버전을 확인합니다.Verify that Node.js is installed and the currently default version with: node --version. 그리고 npm --version 명령을 사용하여 npm이 설치되어 있는지 확인합니다(which node 또는 which npm 명령을 사용하여 기본 버전에 사용되는 경로도 확인 가능).Then verify that you have npm as well, with: npm --version (You can also use which node or which npm to see the path used for the default versions).

  7. 프로젝트에 사용할 Node.js 버전을 변경하려면 새 프로젝트 디렉터리 mkdir NodeTest를 만들고 cd NodeTest 디렉터리로 들어간 다음, nvm use node를 입력하여 현재 버전으로 전환하거나 nvm use --lts를 입력하여 LTS 버전으로 전환합니다.To change the version of Node.js you would like to use for a project, create a new project directory mkdir NodeTest, and enter the directory cd NodeTest, then enter nvm use node to switch to the Current version, or nvm use --lts to switch to the LTS version. nvm use v8.2.1처럼 설치한 버전의 특정 번호를 사용할 수도 있습니다.You can also use the specific number for any additional versions you've installed, like nvm use v8.2.1. (사용 가능한 모든 Node.js 버전을 나열하려면 nvm ls-remote 명령을 사용합니다.)(To list all of the versions of Node.js available, use the command: nvm ls-remote).

NVM을 사용하여 Node.js 및 NPM을 설치하는 경우 SUDO 명령을 사용하여 새 패키지를 설치할 필요가 없습니다.If you are using NVM to install Node.js and NPM, you should not need to use the SUDO command to install new packages.

대체 버전 관리자Alternative version managers

현재 노드에 가장 많이 사용되는 버전 관리자는 nvm이지만, 고려해 볼 수 있는 다음과 같은 다른 버전 관리자도 있습니다.While nvm is currently the most popular version manager for node, there are a few alternatives to consider:

  • 오래전부터 nvm 대용으로 사용된 n은 약간 다른 명령으로 동일한 작업을 수행하며, bash 스크립트 대신 npm을 통해 설치됩니다.n is a long-standing nvm alternative that accomplishes the same thing with slightly different commands and is installed via npm rather than a bash script.
  • fnm은 최신 버전의 관리자이며 nvm보다 훨씬 빠르다고 합니다.fnm is a newer version manager, claiming to be much faster than nvm. (마찬가지로 Azure Pipelines를 사용합니다.)(It also uses Azure Pipelines.)
  • Volta는 LinkedIn 팀의 새로운 버전 관리자로, 속도 및 플랫폼 간 지원이 향상되었다고 합니다.Volta is a new version manager from the LinkedIn team that claims improved speed and cross-platform support.
  • asdf-vm은 gvm, nvm, rbenv 및 pyenv 등의 여러 언어를 모두 관리할 수 있는 단일 CLI입니다.asdf-vm is a single CLI for multiple languages, like ike gvm, nvm, rbenv & pyenv (and more) all in one.
  • nvs(노드 버전 전환기)는 플랫폼 간 nvm 대안으로, VS Code와 통합할 수 있는 기능을 제공합니다.nvs (Node Version Switcher) is a cross-platform nvm alternative with the ability to integrate with VS Code.

선호하는 코드 편집기 설치Install your favorite code editor

Node.js 프로젝트에는 Visual Studio Code와 원격 WSL 확장을 사용하는 것이 좋습니다.We recommend using Visual Studio Code with the Remote-WSL Extension for Node.js projects. 이렇게 하면 VS Code가 “클라이언트-서버” 아키텍처로 분할되고, 클라이언트(VS Code 사용자 인터페이스)는 Windows 운영 체제에서 실행되고, 서버(코드, Git, 플러그 인 등)는 WSL Linux 배포판에서 "원격"으로 실행됩니다.This splits VS Code into a “client-server” architecture, with the client (the VS Code user interface) running on your Windows operating system and the server (your code, Git, plugins, etc) running "remotely" on your WSL Linux distribution.

참고

이 "원격" 시나리오는 여러분에게 익숙한 시나리오와 약간 다릅니다.This “remote” scenario is a bit different than you may be accustomed to. WSL은 프로젝트 코드가 Windows 운영 체제와 별도로 실행되지만 여전히 로컬 컴퓨터에 있는 실제 Linux 배포판을 지원합니다.WSL supports an actual Linux distribution where your project code is running, separately from your Windows operating system, but still on your local machine. 원격 WSL 확장은 클라우드에서 실행되지 않지만 마치 원격 서버인 것처럼 Linux 하위 시스템에 연결합니다.The Remote-WSL extension connects with your Linux subsystem as if it were a remote server, though it’s not running in the cloud… Windows와 함께 실행되도록 설정한 WSL 환경의 로컬 컴퓨터에서 계속 실행됩니다.it’s still running on your local machine in the WSL environment that you enabled to run alongside Windows.

터미널 기반 텍스트 편집기(vim, emacs, nano)는 콘솔 내에서 바로 신속하게 변경할 때도 유용합니다.Terminal-based text editors (vim, emacs, nano) are also helpful for making quick changes from right inside your console. (이 문서에서는 차이점 및 각각의 사용 방법을 설명합니다.)(This article does a nice job explaining the difference and a bit about how to use each.)

참고

일부 GUI 편집기(Atom, Sublime, Eclipse)는 WSL 공유 네트워크 위치(\wsl $ \Ubuntu\home)에 액세스할 때 문제가 발생하여 Windows 도구를 통해 Linux 파일을 빌드하려고 시도할 수 있습니다. 이는 우리가 원하는 결과가 아닙니다.Some GUI editors (Atom, Sublime Text, Eclipse) may run into trouble accessing the WSL shared network location (\wsl$\Ubuntu\home) and will try to build your Linux files using Windows tools, which may not be what you want. VS Code의 원격 WSL 확장은 이 호환성을 알아서 처리합니다.The Remote-WSL Extension in VS Code will handle this compatibility for you.

VS Code 및 원격 WSL 확장을 설치하는 방법은 다음과 같습니다.To install VS Code and the Remote-WSL Extension:

  1. Windows용 VS Code를 다운로드하여 설치합니다.Download and install VS Code for Windows. VS Code는 Linux에서도 사용할 수 있지만, Linux용 Windows 하위 시스템은 GUI 앱을 지원하지 않으므로 Windows에 설치해야 합니다.VS Code is also available for Linux, but Windows Subsystem for Linux does not support GUI apps, so we need to install it on Windows. 걱정하지 마세요. 여전히 Remote - WSL 확장을 사용하여 Linux 명령줄 및 도구와 통합할 수 있습니다.Not to worry, you'll still be able to integrate with your Linux command line and tools using the Remote - WSL Extension.

  2. Remote - WSL 확장을 VS Code에 설치합니다.Install the Remote - WSL Extension on VS Code. 이를 통해 WSL을 통합 개발 환경으로 사용하고, 호환성과 패치를 처리할 수 있습니다.This allows you to use WSL as your integrated development environment and will handle compatibility and pathing for you. 자세한 정보를 알아보세요.Learn more.

중요

VS Code가 이미 설치되어 있는 경우 Remote - WSL 확장을 설치하려면 1.35 5월 릴리스 이상이 있어야 합니다.If you already have VS Code installed, you need to ensure that you have the 1.35 May release or later in order to install the Remote - WSL Extension. 자동 완성, 디버깅, linting 등의 지원이 손실될 수 있으므로 VS Code에서 Remote - WSL 확장 없이 WSL을 사용하지 않는 것이 좋습니다. 재미있게도 이 WSL 확장은 $HOME/.vscode-server/extensions에 설치됩니다.We do not recommend using WSL in VS Code without the Remote-WSL extension as you will lose support for auto-complete, debugging, linting, etc. Fun fact: This WSL extension is installed in $HOME/.vscode-server/extensions.

유용한 VS Code 확장Helpful VS Code Extensions

VS Code는 기본적으로 Node.js 개발을 위한 여러 기능과 함께 제공되지만, Node.js 확장 팩에 제공되는 확장 중에도 설치를 고려해 볼 수 있는 유용한 확장이 몇 개 있습니다.While VS Code comes with many features for Node.js development out of the box, there are some helpful extensions to consider installing available in the Node.js Extension Pack. 전부 설치해도 되고 가장 유용하다고 생각되는 부분만 선택해서 설치해도 됩니다.Install them all or pick and choose which seem the most useful to you.

Node.js 확장 팩을 설치하는 방법은 다음과 같습니다.To install the Node.js extension pack:

  1. VS Code에서 확장 창을 엽니다(Ctrl+Shift+X).Open the Extensions window (Ctrl+Shift+X) in VS Code.

    이제 확장 창은 다음과 같은 세 가지 섹션으로 구분됩니다(원격 WSL 확장을 설치했기 때문에).The Extensions window is now divided into three sections (because you installed the Remote-WSL extension).

    • "로컬 - 설치": Windows 운영 체제에서 사용하기 위해 설치된 확장입니다."Local - Installed": The extensions installed for use with your Windows operating system.
    • "WSL:Ubuntu-18.04-설치": Ubuntu 운영 체제(WSL)에 사용하기 위해 설치된 확장입니다."WSL:Ubuntu-18.04-Installed": The extensions installed for use with your Ubuntu operating system (WSL).
    • "권장": 현재 프로젝트의 파일 형식에 따라 VS Code에서 권장하는 확장입니다."Recommended": Extensions recommended by VS Code based on the file types in your current project.

    VS Code 로컬 확장과 원격 확장의 비교

  2. [확장] 창의 맨 위에 있는 검색 상자에 노드 확장 팩(또는 찾고 있는 확장의 이름)을 입력합니다.In the search box at the top of the Extensions window, enter: Node Extension Pack (or the name of whatever extension you are looking for). 현재 프로젝트가 열려 있는 위치에 따라 VS Code의 로컬 또는 WSL 인스턴스에 대한 확장이 설치됩니다.The extension will be installed for either your Local or WSL instances of VS Code depending on where you have the current project opened. VS Code 창의 왼쪽 아래 모서리에 있는 원격 링크(녹색)를 선택하여 알 수 있습니다.You can tell by selecting the remote link in the bottom-left corner of your VS Code window (in green). 원격 연결을 열거나 닫는 옵션이 제공됩니다.It will either give you the option to open or close a remote connection. "WSL:Ubuntu-18.04" 환경에 Node.js 확장을 설치합니다.Install your Node.js extensions in the "WSL:Ubuntu-18.04" environment.

    VS Code 원격 링크

다음과 같은 몇 가지 추가 확장도 고려해 볼 수 있습니다.A few additional extensions you may want to consider include:

  • Chrome용 디버거: Node.js를 사용하여 서버 쪽에서 개발을 마친 후에는 클라이언트 쪽에서 개발하고 테스트해야 합니다.Debugger for Chrome: Once you finish developing on the server side with Node.js, you'll need to develop and test the client side. 이 확장은 VS Code 편집기를 Chrome 브라우저 디버깅 서비스와 통합하여 효율성을 높입니다.This extension integrates your VS Code editor with your Chrome browser debugging service, making things a bit more efficient.
  • 다른 편집기의 키맵: Atom, Sublime, Vim, eMacs, 메모장++ 등의 다른 텍스트 편집기에서 전환할 때 이러한 확장을 사용하여 익숙한 환경을 만들 수 있습니다.Keymaps from other editors: These extensions can help your environment feel right at home if you're transitioning from another text editor (like Atom, Sublime, Vim, eMacs, Notepad++, etc).
  • 설정 동기화: GitHub를 사용하는 여러 설치에서 VS Code 설정을 동기화할 수 있습니다.Settings Sync: Enables you to synchronize your VS Code settings across different installations using GitHub. 여러 머신에서 작업하는 경우 이렇게 하면 여러 머신의 환경을 일관되게 유지할 수 있습니다.If you work on different machines, this helps keep your environment consistent across them.

Git 설치(선택 사항)Set up Git (optional)

WSL에서 NodeJS 프로젝트용 Git을 설정하려면 WSL 설명서의 Linux용 Windows 하위 시스템에서 Git 사용 시작 문서를 참조하세요.To set up Git for a NodeJS project on WSL, see the article Get started using Git on Windows Subsystem for Linux in the WSL documentation.

다음 단계Next steps

Node.js 개발 환경 설정이 완료되었습니다.You now have a Node.js development environment set up. Node.js 환경 사용을 시작하려면 다음 자습서 중 하나를 진행하세요.To get started using your Node.js environment, consider trying one of these tutorials: