프로젝트 관리
Volta는 팀과 협력자가 프로젝트에 사용하는 개발 도구를 표준화할 수 있게 해줍니다. 이 가이드는 Volta를 사용하여 프로젝트를 효과적으로 관리하는 방법을 보여줍니다.
도구 버전 고정
Volta의 가장 중요한 프로젝트 관리 기능은 특정 도구 버전을 프로젝트에 고정할 수 있는 능력입니다:
Node.js 고정
프로젝트에서 사용해야 하는 Node.js 버전을 지정하려면:
volta pin node@16.14.2
주 버전이나 부 버전으로 고정할 수도 있으며, Volta가 최신 일치 버전을 사용합니다:
volta pin node@16
패키지 매니저 고정
마찬가지로 npm과 Yarn 버전을 고정할 수 있습니다:
volta pin npm@8.5.0
volta pin yarn@1.22.18
고정의 작동 방식
도구 버전을 고정하면 Volta는:
volta
섹션으로 프로젝트의package.json
파일을 업데이트합니다- 이 정보를 버전 관리에 커밋합니다
- 팀의 모든 구성원이 동일한 버전을 사용하도록 보장합니다
다음은 package.json
의 volta
섹션이 어떻게 보이는지입니다:
{
"name": "your-project",
"version": "1.0.0",
"volta": {
"node": "16.14.2",
"npm": "8.5.0",
"yarn": "1.22.18"
}
}
프로젝트 로컬 도구
Volta는 프로젝트 로컬 도구 설치도 존중합니다:
로컬 패키지 바이너리 사용
프로젝트에 패키지를 로컬로 설치할 때:
npm install typescript
# 또는
yarn add typescript
Volta를 통해 바이너리를 실행할 수 있습니다:
volta run tsc
# 또는 간단히
tsc
Volta는 프로젝트에 고정된 Node.js 버전을 사용하여 이러한 도구를 실행합니다.
워크스페이스 지원
여러 프로젝트가 있는 모노레포 설정의 경우 Volta는 구성 상속을 지원합니다:
구성 확장
여러 프로젝트가 있는 워크스페이스에서 루트 package.json
에 기본 구성을 설정할 수 있습니다:
{
"volta": {
"node": "16.14.2",
"yarn": "1.22.18"
}
}
그런 다음 개별 프로젝트 package.json
파일에서 루트 구성을 확장합니다:
{
"volta": {
"extends": "../../package.json"
}
}
이를 통해 워크스페이스의 모든 프로젝트 간에 일관된 도구 버전을 유지할 수 있습니다.
프로젝트 관리 모범 사례
Volta를 사용하여 프로젝트를 관리하기 위한 몇 가지 권장 사항입니다:
1. 항상 도구를 고정하세요
모든 프로젝트에 대해 Node.js와 패키지 매니저 버전을 고정하세요:
volta pin node
volta pin npm
# 또는
volta pin yarn
이렇게 하면 모든 팀 구성원이 일관된 개발 환경을 가질 수 있습니다.
2. Volta 구성 커밋
항상 package.json
의 volta
섹션을 버전 관리에 커밋하세요. 이것이 Volta가 팀과 구성을 공유하는 방법입니다.
3. 도구 요구사항 문서화
프로젝트 README에서 도구 관리에 Volta를 사용한다는 점을 언급하세요:
## 개발
이 프로젝트는 도구 일관성을 보장하기 위해 [Volta](https://volta.sh)를 사용합니다.
Volta를 설치하면 올바른 버전의 Node.js와 npm이 자동으로 사용됩니다.
4. CI/CD 통합 사용
지속적 통합 환경에서 빌드 프로세스의 일부로 Volta 설치를 포함하세요:
# GitHub Actions 예제
- name: Install Volta
uses: volta-cli/action@v1
# Volta가 자동으로 올바른 Node.js 및 npm/yarn 버전을 사용합니다
- name: Install dependencies
run: npm install
5. 프로젝트 간 표준화
여러 프로젝트를 가진 조직의 경우 개발자가 설치해야 하는 버전 수를 최소화하기 위해 가능한 한 도구 버전을 표준화하세요.
Volta를 사용하여 프로젝트를 효과적으로 관리함으로써 모든 팀 구성원이 일관된 개발 환경을 가지도록 보장하고, "내 컴퓨터에서는 작동"하는 문제를 줄이며, 협업을 더욱 원활하게 만들 수 있습니다.