다음을 통해 공유


Linux용 Windows 하위 시스템에 Node.js 설치(WSL2)

Linux 환경에서 Node.js 사용하는 것을 선호하는 사용자를 위해 이 가이드는 Linux용 Windows 하위 시스템에 Node.js 설치하는 데 도움이 됩니다(WSL 2는 권장 버전).

설치할 위치와 네이티브 Windows와 Linux(WSL 2) 환경에서 Node.js 사용하여 개발할지 여부를 결정할 때 다음을 고려합니다.

  • 기술 수준: Node.js 개발에 익숙하지 않고 빠르게 학습 시작 및 실행을 원하신다면, Windows에 Node.js을 설치해 보세요.. Windows에 Node.js 설치하고 사용하면 WSL을 사용하는 것보다 초보자에게 덜 복잡한 환경을 제공합니다.
  • 명령줄 클라이언트 도구: PowerShell을 선호하는 경우 Windows에서 Node.js 사용합니다. Bash를 선호하는 경우 Linux에서 Node.js 사용합니다(WSL 2).
  • 프로덕션 서버: Windows Server에 Node.js 앱을 배포하려는 경우 Windows에서 Node.js 사용합니다. Linux Server에 배포하려는 경우 Linux(WSL 2)에서 Node.js 사용합니다. WSL을 사용하면 기본 Linux 배포판(Ubuntu를 기본값으로 사용)을 설치하여 개발 환경(코드를 작성하는 위치)과 프로덕션 환경(코드가 배포된 서버) 간에 일관성을 보장할 수 있습니다.
  • 성능 속도 및 시스템 호출 호환성: Linux 및 Windows 성능에 대한 지속적인 논쟁과 개발이 있지만 Windows 컴퓨터를 사용할 때의 핵심은 개발 프로젝트 파일을 Node.js설치한 동일한 파일 시스템에 유지하는 것입니다. Windows 파일 시스템에 Node.js 설치하는 경우 파일을 Windows 드라이브에 유지합니다(예: C:/). Linux 배포(예: Ubuntu)에 Node.js 설치하는 경우 사용 중인 배포와 연결된 Linux 파일 시스템 디렉터리에 프로젝트 파일을 유지합니다. (WSL 배포 명령줄에서 explorer.exe . 입력하여 Windows 파일 탐색기를 사용하여 디렉터리를 찾습니다.
  • Docker 컨테이너: Docker 컨테이너를 사용하여 Windows에서 프로젝트를 개발하려면 WindowsDocker Desktop을 설치하는 것이 좋습니다. Linux 작업 영역에서 Docker를 사용하려면, Linux 및 Windows 빌드 스크립트를 동시에 관리해야 하는 번거로움을 피하기 위해 WSL 2에서 Windows용 Docker Desktop 설정 방법을 참조하십시오.

Linux용 Windows 하위 시스템 설치

Node.jsLinux 개발 환경을 사용하려는 경우 WSL 설치 설명서 참조하세요. 이러한 단계에는 Linux 배포(Ubuntu가 기본값) 및 Linux용 Windows 하위 시스템 버전 선택(WSL 2가 기본 및 권장 버전임)이 포함됩니다. 원하는 경우 여러 Linux 배포를 설치할 수 있습니다.

WSL 2 및 Linux 배포판을 설치한 후에는 Linux 배포판(Windows 터미널 목록 또는 Windows 시작 메뉴에서 찾을 수 있습니다)을 열고 lsb_release -dc명령을 사용하여 버전 및 코드 이름을 확인합니다.

설치 직후를 포함하여 Linux 배포를 정기적으로 업데이트하여 최신 패키지가 있는지 확인하는 것이 좋습니다. Windows는 이 업데이트를 자동으로 처리하지 않습니다. 배포를 업데이트하려면 sudo apt update && sudo apt upgrade명령을 사용합니다.

Windows 터미널

Windows 터미널은 Linux 명령줄, Windows 명령 프롬프트, PowerShell, Azure CLI 또는 사용하려는 항목 간에 빠르게 전환할 수 있도록 여러 탭을 실행할 수 있는 향상된 명령줄 셸입니다. 사용자 지정 키 바인딩(탭을 열거나 닫기 위한 바로 가기 키, 복사+붙여넣기 등)을 만들고, 검색 기능을 사용하고, 테마(색 구성표, 글꼴 스타일 및 크기, 배경 이미지/흐림/투명도)를 사용하여 터미널을 사용자 지정할 수도 있습니다. Windows 터미널 문서에서자세히 알아보세요.

nvm, node.js및 npm 설치

Windows 또는 WSL에 설치할지 여부를 선택하는 것 외에도 Node.js설치할 때 추가로 선택할 수 있습니다. 버전이 매우 빠르게 변경됨에 따라 버전 관리자를 사용하는 것이 좋습니다. 작업 중인 여러 프로젝트의 요구에 따라 여러 버전의 Node.js 사이에서 전환해야 할 가능성이 큽니다. 일반적으로 nvm이라고 하는 노드 버전 관리자는 여러 버전의 Node.js설치하는 가장 인기 있는 방법입니다. nvm을 설치한 다음 이를 사용하여 Node.js 및 npm(노드 패키지 관리자)을 설치하는 단계를 안내합니다. 다음 섹션에서도 고려할 대체 버전 관리자가 있습니다.

중요하다

다양한 유형의 설치로 인해 이상하고 혼란스러운 충돌이 발생할 수 있으므로 버전 관리자를 설치하기 전에 운영 체제에서 Node.js 또는 npm의 기존 설치를 제거하는 것이 좋습니다. 예를 들어 Ubuntu의 apt-get 명령을 사용하여 설치할 수 있는 노드 버전은 현재 오래된 버전입니다. 이전 설치 제거 관련 도움말은 "Ubuntu에서 Node.js 삭제 방법"의 을 참조하세요.

NVM 설치에 대한 최신 정보는 GitHubNVM 리포지토리의 설치 및 업데이트를 참조하세요.

  1. Ubuntu 명령줄(또는 선택한 배포)을 엽니다.

  2. 다음을 사용하여 cURL(명령줄에서 인터넷에서 콘텐츠를 다운로드하는 데 사용되는 도구)을 설치합니다sudo apt-get install curl

  3. 다음을 사용하여 nvm을 설치합니다curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

    메모

    cURL을 사용하여 최신 버전의 NVM을 설치하면 이전 버전이 대체되어 NVM을 사용하여 설치한 노드 버전이 그대로 유지됩니다. 자세한 내용은 GitHub 프로젝트 페이지에서 NVM대한 최신 릴리스 정보를 참조하세요.

  4. 설치를 확인하려면 다음을 입력합니다: command -v nvm ...이 명령은 'nvm'을 반환해야 합니다. '명령을 찾을 수 없음' 또는 응답이 전혀 없으면 현재 터미널을 닫고, 다시 열어 다시 시도하십시오. nvm github 리포지토리에서 더 알아보세요.

  5. 현재 설치된 노드 버전을 나열합니다(이 시점에서는 없음이어야 함). nvm ls

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

  6. Node.js현재 및 안정적인 LTS 버전을 모두 설치합니다. 이후 단계에서는 nvm 명령을 사용하여 Node.js의 활성 버전 간에 전환하는 방법을 배웁니다.

    • 현재 안정적인 Node.js LTS 릴리스 설치(프로덕션 애플리케이션에 권장): nvm install --lts
    • Node.js 현재 릴리스를 설치합니다(최신 Node.js 기능 및 개선 사항을 테스트하지만 문제가 있을 가능성이 높음) nvm install node
  7. 설치된 노드 버전을 나열합니다. nvm ls... 이제 방금 설치한 두 버전이 나열됩니다.

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

  8. Node.js이 설치되어 있고 현재 기본 버전인 node --version인지 확인하십시오. 그런 다음 npm --version 명령어로 설치된 npm이 있는지 확인하십시오. 기본 버전에 사용되는 경로를 확인하려면 which node 또는 which npm를 사용할 수도 있습니다.

  9. 프로젝트에 사용할 Node.js 버전을 변경하려면 새 프로젝트 디렉터리 mkdir NodeTest만들고 디렉터리 cd NodeTest입력한 다음 nvm use node 입력하여 현재 버전으로 전환하거나 nvm use --lts LTS 버전으로 전환합니다. 설치한 추가 버전(예: nvm use v8.2.1)에 특정 번호를 사용할 수도 있습니다. (사용 가능한 Node.js 모든 버전을 나열하려면 nvm ls-remote명령을 사용합니다.

NVM을 사용하여 Node.js 및 NPM을 설치하는 경우 SUDO 명령을 사용하여 새 패키지를 설치할 필요가 없습니다.

대체 버전 관리자

nvm은 현재 노드에서 가장 인기 있는 버전 관리자이지만 고려해야 할 몇 가지 대안이 있습니다.

  • n 약간 다른 명령으로 동일한 작업을 수행하고 bash 스크립트가 아닌 npm 통해 설치되는 오랜 nvm 대안입니다.
  • fnm은 최신 버전 관리자이며 nvm보다 훨씬 빠르다고 주장합니다. (또한 Azure Pipelines을 사용합니다.)
  • Volta 향상된 속도 및 플랫폼 간 지원을 주장하는 LinkedIn 팀의 새로운 버전 관리자입니다.
  • asdf-vm ike gvm, nvm, rbenv & pyenv(등)와 같은 여러 언어에 대한 단일 CLI입니다.
  • nvs(노드 버전 전환기)는 VS Code통합할 수 있는 플랫폼 간 대안입니다.

Visual Studio Code 설치

원격 개발 확장 팩을 사용하여 Visual Studio Code를 Node.js 프로젝트에 활용하는 것을 권장합니다. 이렇게 하면 WINDOWS 운영 체제에서 실행되는 클라이언트(VS Code 사용자 인터페이스)와 WSL Linux 배포판에서 "원격으로" 실행되는 서버(코드, Git, 플러그 인 등)를 사용하여 VS Code를 "클라이언트-서버" 아키텍처로 분할합니다.

메모

이 "원격" 시나리오는 익숙한 시나리오와 약간 다릅니다. WSL은 프로젝트 코드가 실행되는 실제 Linux 배포판을 지원하며, 사용자의 로컬 컴퓨터에서 Windows 운영 체제와 독립적으로 실행됩니다. Remote-WSL 확장은 원격 서버인 것처럼 Linux 하위 시스템에 연결되지만 클라우드에서 실행되지는 않습니다... Windows와 함께 실행되도록 설정한 WSL 환경의 로컬 컴퓨터에서 계속 실행됩니다.

IntelliJ, Sublime Text, Brackets 등과 같은 다른 코드 편집기들도 WSL 2 Node.js 개발 환경에서 작동하지만, VS Code가 제공하는 것과 같은 원격 기능이 없을 수 있습니다. 이러한 코드 편집기에서는 WSL 공유 네트워크 위치(\wsl$\Ubuntu\home)에 액세스하는 데 문제가 발생할 수 있으며 Windows 도구를 사용하여 Linux 파일을 빌드하려고 합니다. 이는 원하는 것이 아닐 수 있습니다. VS Code의 Remote-WSL 확장은 여러분을 위해 이러한 호환성을 처리해 줍니다. 다른 IDE의 경우, X 서버를 설정해야 할 수 있습니다. WSL(예: 코드 편집기 IDE)에서 GUI 앱을 실행하기 위한 지원이 곧 제공될 예정입니다.

터미널 기반 텍스트 편집기(vim, emacs, nano)도 콘솔 내부에서 바로 빠르게 변경하는 데 유용합니다. Emacs, Nano 또는 Vim: 텍스트 편집기를 현명하게 선택하세요 Terminal-Based 는 각각을 사용하는 방법과 몇 가지 차이점을 잘 설명하는 문서입니다.

VS Code 및 Remote-WSL 확장을 설치하려면 다음을 수행합니다.

  1. Windows용 VS Code를 다운로드하여 설치합니다. VS Code는 Linux에서도 사용할 수 있지만 Linux용 Windows 하위 시스템은 GUI 앱을 지원하지 않으므로 Windows에 설치해야 합니다. 걱정하지 마세요, 원격 - WSL 확장을 사용하여 Linux 명령줄 및 도구와 여전히 통합할 수 있습니다.

  2. VS Code에 Remote - WSL 확장 설치합니다. 이를 통해 WSL을 통합 개발 환경으로 사용할 수 있으며 호환성 및 경로 지정을 처리할 수 있습니다. 자세한 정보를알아보세요.

중요하다

VS Code가 이미 설치된 경우, Remote - WSL 확장을(를) 설치하려면 1.35 5월 출시 이상이 있는지 확인해야 합니다. 자동 완성, 디버깅, 린팅 등에 대한 지원이 손실되므로 Remote-WSL 확장 없이 VS Code에서 WSL을 사용하지 않는 것이 좋습니다. 재미있는 사실: 이 WSL 확장은 $HOME/.vscode-server/extensions에 설치됩니다.

유용한 VS Code 확장

VS Code에는 기본적으로 Node.js 개발을 위한 많은 기능이 제공되지만, Node.js 확장 팩에 설치할 수 있는 몇 가지 유용한 확장을 설치하는 것을 고려할 수 있습니다. 모두 설치하거나 가장 유용하다고 생각하는 항목을 선택할 수 있습니다.

Node.js 확장 팩을 설치하려면 다음을 수행합니다.

  1. VS Code에서 확장 창(Ctrl+Shift+X)을 엽니다.

    확장 창은 이제 세 개의 섹션으로 나뉩니다(Remote-WSL 확장을 설치했기 때문).

    • "로컬 - 설치됨": Windows 운영 체제에 사용하기 위해 설치된 확장입니다.
    • "WSL:Ubuntu-18.04-Installed": WSL(Ubuntu 운영 체제)과 함께 사용하기 위해 설치된 확장입니다.
    • "권장": 현재 프로젝트의 파일 형식에 따라 VS Code에서 권장하는 확장입니다.

    VS Code 확장 로컬 및 원격

  2. 확장 창 위쪽의 검색 상자에 노드 확장 팩(또는 원하는 확장의 이름)을 입력합니다. 확장은 현재 프로젝트를 연 위치에 따라 VS Code의 로컬 또는 WSL 인스턴스에 대해 설치됩니다. VS Code 창의 왼쪽 아래 모서리(녹색)에서 원격 링크를 선택하여 알 수 있습니다. 원격 연결을 열거나 닫을 수 있는 옵션이 제공됩니다. "WSL:Ubuntu-18.04" 환경에 Node.js 확장을 설치합니다.

    VS Code 원격 링크

고려할 수 있는 몇 가지 추가 확장은 다음과 같습니다.

  • JavaScript 디버거: Node.js로 서버 측 개발을 완료하면 클라이언트 측을 개발하고 테스트해야 합니다. 이 확장은 DAP 기반 JavaScript 디버거입니다. 이 도구는 Node.js, Chrome, Edge, WebView2, VS Code 확장 등을 디버깅합니다.
  • 다른 편집기에서 키맵: 이러한 확장은 Atom, Sublime, Vim, Emacs, Notepad++ 등 다른 텍스트 편집기에서 전환할 때 사용자 환경을 익숙하게 느끼도록 도와줄 수 있습니다.
  • 설정 동기화: GitHub를 사용하여 여러 설치에서 VS Code 설정을 동기화할 수 있습니다. 다른 컴퓨터에서 작업하는 경우 이러한 컴퓨터 간에 환경을 일관되게 유지하는 데 도움이 됩니다.

Git 설정(선택 사항)

WSL에서 Node.js 프로젝트에 대한 Git을 설정하려면 WSL 설명서의 Linux용 Windows 하위 시스템 Git 사용을 시작하기 문서를 참조하세요.