

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# npm 태그 처리
<a name="packages-npm-tags"></a>

npm 레지스트리는 패키지 버전의 문자열 별칭인 *태그*를 지원합니다. 태그를 사용하여 버전 번호를 사용하는 대신 별칭을 제공할 수 있습니다. 예를 들어, 여러 개발 스트림이 있는 프로젝트에서 각 스트림마다 다른 태그(예: `stable`, `beta`, `dev`, `canary`)를 사용할 수 있습니다. 자세한 내용은 *npm Docs*에서 [dist-tag](https://docs.npmjs.com/cli/dist-tag)를 참조하세요.

기본적으로 npm은 `latest` 태그를 사용하여 패키지의 현재 버전을 식별합니다. `npm install {{pkg}}`(`@{{version}}` 또는 `@{{tag}}` 지정자가 없는)는 최신 태그를 설치합니다. 일반적으로 프로젝트는 안정적인 릴리스 버전에만 최신 태그를 사용합니다. 그 밖의 태그는 불안정한 버전이나 프리릴리스 버전에 사용됩니다.

## npm 클라이언트로 태그를 편집
<a name="editing-tags-with-the-npm-client"></a>

 CodeCatalyst 패키지 리포지토리에서는 세 개의 `npm dist-tag` 명령(`add`, `rm` 및 `ls`)이 [기본 npm 레지스트리](https://registry.npmjs.com/)에서와 동일하게 작동합니다.

## npm 태그와 업스트림 리포지토리
<a name="packages-tags-and-upstreams"></a>

`npm`이 패키지에 대한 태그를 요청하고 해당 패키지의 버전이 업스트림 리포지토리에도 있을 때 CodeCatalyst는 태그를 병합한 후 클라이언트에 반환합니다. 예를 들어 리포지토리 `R`에는 업스트림 리포지토리 `U`가 있습니다. 다음 표에는 두 리포지토리에 모두 있는 `web-helper`라는 패키지의 태그가 나와 있습니다.


****  

| 리포지토리 | 패키지 이름 | 패키지 태그 | 
| --- | --- | --- | 
| R | `web-helper` |  *latest*(버전 1.0.0의 별칭) | 
| U | `web-helper` |  *alpha*(버전 1.0.1의 별칭) | 

이 경우, npm 클라이언트가 리포지토리 `R`에서 `web-helper` 패키지의 태그를 가져오면 *latest* 태그와 *alpha* 태그를 모두 받습니다. 태그가 가리키는 버전은 변경되지 않습니다.

업스트림 및 로컬 리포지토리의 동일한 패키지에 동일한 태그가 있는 경우 CodeCatalyst는 *마지막으로 업데이트된* 태그를 사용합니다. 예를 들어, *webhelper*의 태그가 다음과 같이 수정되었다고 가정해 보겠습니다.


****  

| 리포지토리 | 패키지 이름 | 패키지 태그 | 최종 업데이트 날짜 | 
| --- | --- | --- | --- | 
| R | `web-helper` |  *latest*(버전 1.0.0의 별칭) | 2023년 1월 1일 | 
| U | `web-helper` |  *latest*(버전 1.0.1의 별칭) | 2023년 6월 1일 | 

이 경우, npm 클라이언트가 리포지토리 `R`에서 패키지 *web-helper*의 태그를 가져오면, *최신* 태그는 버전 *1.0.1*에 별칭을 지정합니다. 이는 가장 최근에 업데이트되었기 때문입니다. 이렇게 하면 `npm update`를 실행하여 로컬 리포지토리에 아직 없는 업스트림 리포지토리의 새 패키지 버전을 쉽게 사용할 수 있습니다.