Skip to content

Volta 이해하기

Volta의 작동 방식

Volta는 현재 디렉토리에 따라 올바른 버전으로 라우팅하는 심을 생성하여 JavaScript 명령행 도구를 관리합니다. 이를 통해 서로 다른 프로젝트가 추가 구성 없이 동일한 도구의 다른 버전을 사용할 수 있습니다.

심 시스템

Volta를 설치하면 PATH에 작은 심 세트가 추가됩니다:

  • node용 심
  • 각 패키지 매니저(npm, yarn, pnpm 등)용 심
  • 설치한 각 글로벌 패키지용 심

이러한 심은 다음과 같은 방법으로 실행할 도구의 실제 버전을 결정하는 작은 실행 파일입니다:

  1. 고정된 도구 버전이 있는 프로젝트에 있는지 확인
  2. 프로젝트별 버전을 찾지 못하면 기본 버전을 사용

프로젝트별 버전

Volta는 package.json 파일의 volta 섹션에 프로젝트 도구 요구사항을 저장합니다:

json
{
  "volta": {
    "node": "16.15.1",
    "npm": "8.11.0"
  }
}

이 구성이 있는 디렉토리에서 명령을 실행하면 Volta가 자동으로 이러한 정확한 버전을 사용하도록 보장합니다.

기본 버전

고정된 버전이 없는 프로젝트 외부의 위치에서 Volta는 기본 도구를 사용합니다. 다음 명령으로 이를 설정할 수 있습니다:

bash
volta install node@16.15.1
volta install npm@8.11.0

왜 Volta를 선택해야 할까요?

일관된 환경

Volta는 프로젝트에서 작업하는 모든 사람이 정확히 동일한 도구 체인을 사용하도록 보장하여 "내 컴퓨터에서는 작동"하는 문제를 제거합니다.

제로 오버헤드

다른 버전 관리자와 달리 Volta는 프로젝트를 변경할 때 버전을 전환하는 추가 명령이 필요하지 않습니다. 파일 시스템을 탐색할 때 자동으로 발생합니다.

빠른 성능

Rust로 구축된 Volta는 속도를 위해 설계되었습니다. 심 아키텍처는 JavaScript 도구를 실행할 때 최소한의 오버헤드를 의미합니다.

원활한 통합

Volta는 기존 JavaScript 개발 워크플로우와 함께 작동하며 습관이나 프로세스를 변경할 필요가 없습니다.

일반적인 워크플로우

새 프로젝트 시작

bash
# 디렉토리 생성 및 패키지 설정
mkdir my-project && cd my-project
npm init -y

# Node.js 및 npm 버전 고정
volta pin node@16
volta pin npm@8

# 의존성 설치
npm install express

기존 프로젝트에 기여

bash
# 저장소 복제
git clone https://github.com/example/project.git
cd project

# 프로젝트가 package.json에 volta 구성이 있으면
# 올바른 도구를 자동으로 사용합니다

# 없으면 추가할 수 있습니다
volta pin node@14

글로벌 도구 설치

bash
# 글로벌 패키지 설치
volta install typescript

# 이제 어디서든 사용할 수 있습니다
tsc --version