쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

CodeArtifact로 npm 구성 및 사용

포커스 모드
CodeArtifact로 npm 구성 및 사용 - CodeArtifact

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

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

CodeArtifact에서 리포지토리를 만든 후 npm 클라이언트를 사용하여 패키지를 설치하고 게시할 수 있습니다. 리포지토리 엔드포인트와 인증 토큰을 사용하여 npm을 구성하기 위해 권장되는 방법은 aws codeartifact login 명령을 사용하는 것입니다. npm을 수동으로 구성할 수도 있습니다.

로그인 명령으로 npm 구성하기

aws codeartifact login 명령을 사용하여 npm에 사용할 보안 인증 정보를 가져올 수 있습니다.

참고

소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

중요

npm 10.x 이상을 사용하는 경우 AWS CLI 버전 2.9.5 이상을 사용하여 aws codeartifact login 명령을 성공적으로 실행해야 합니다.

aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo

이 명령은 ~/.npmrc 파일을 다음과 같이 변경합니다.

  • AWS 보안 인증을 사용하여 CodeArtifact에서 가져온 인증 토큰을 추가합니다.

  • npm 레지스트리를 --repository 옵션으로 지정된 리포지토리로 설정합니다.

  • npm 6 이하의 경우: 모든 npm 명령에 대해 인증 토큰이 전송되도록 "always-auth=true"를 추가합니다.

login 직접 호출 후의 기본 승인 기간은 12시간이며, 토큰을 주기적으로 재발급하려면 login를 직접적으로 호출해야 합니다. login 명령으로 만든 인증 토큰에 관한 자세한 내용은 login 명령으로 생성된 토큰을 참조하세요.

로그인 명령을 실행하지 않고 npm 구성하기

npm 구성을 수동으로 업데이트하여 aws codeartifact login 명령 없이 CodeArtifact 리포지토리로 npm을 구성할 수 있습니다.

로그인 명령을 실행하지 않고 npm을 구성하려면
  1. 명령줄에서 CodeArtifact 인증 토큰을 가져와 환경 변수에 저장합니다. npm은 이 토큰을 사용하여 CodeArtifact 리포지토리로 인증합니다.

    참고

    다음 명령은 macOS 또는 Linux 시스템에 사용됩니다. Windows 시스템에서 환경 변수를 구성하는 방법에 관한 자세한 내용은 환경 변수를 사용하여 인증 토큰 전달을 참조합니다.

    CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  2. 다음 명령을 실행하여 CodeArtifact 리포지토리의 엔드포인트를 가져올 수 있습니다. 리포지토리 엔드포인트는 패키지를 설치하거나 게시하도록 npm을 리포지토리로 이동하는 데 사용됩니다.

    • my_domain을 CodeArtifact 도메인 이름으로 변경합니다.

    • 111122223333을 도메인 소유자의 AWS 계정 ID로 바꿉니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

    • my_repo를 CodeArtifact 리포지토리 이름으로 변경합니다.

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm

    다음 URL은 리포지토리 엔드포인트의 예입니다.

    https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/
    중요

    레지스트리 URL은 슬래시(/)로 끝나야 합니다. 그렇지 않으면 리포지토리에 연결할 수 없습니다.

  3. npm config set 명령을 실행하여 레지스트리를 CodeArtifact 리포지토리로 설정합니다. URL을 이전 단계의 리포지토리 엔드포인트 URL로 바꿉니다.

    npm config set registry=https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/
    참고

    듀얼 스택 엔드포인트를 사용하려면 codeartifact.region.on.aws 엔드포인트를 사용합니다.

  4. npm config set 명령을 실행하여 npm 구성에 인증 토큰을 추가합니다.

    npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:_authToken=$CODEARTIFACT_AUTH_TOKEN

    npm 6 이하의 경우: GET 요청이 있을 경우에도 npm이 항상 CodeArtifact에 인증 토큰을 전달하도록 하려면 always-auth 구성 변수를 npm config set로 설정합니다.

    npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:always-auth=true

npm 구성 파일 예(.npmrc)

다음은 위의 지침에 따라 CodeArtifact 레지스트리 엔드포인트를 설정하고 인증 토큰을 추가하며 always-auth를 구성한 후의 .npmrc 예제 파일입니다.

registry=https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my-cli-repo/ //my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken=eyJ2ZX... //my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:always-auth=true

npm 명령 실행

npm 클라이언트를 구성한 후 npm 명령을 실행할 수 있습니다. 패키지가 리포지토리 또는 업스트림 리포지토리 중 하나에 있다고 할 경우, npm install을 사용하여 패키지를 설치할 수 있습니다. 예를 들어, 다음 명령을 사용해 lodash 패키지를 설치합니다.

npm install lodash

다음 명령을 사용하여 새 npm 패키지를 CodeArtifact 리포지토리에 게시하세요.

npm publish

npm 패키지를 만드는 방법에 관한 자세한 내용은 npm 설명서 웹 사이트에서 Node.js 모듈 생성 섹션을 참조하세요. CodeArtifact에서 지원하는 npm 명령 목록은 npm 명령 지원을 참조하세요.

npm 인증 및 권한 부여 확인

npm ping 명령을 간접적으로 호출하면 다음을 확인할 수 있습니다.

  • CodeArtifact 리포지토리에 인증할 수 있도록 보안 인증을 올바르게 구성했습니다.

  • 권한 부여 구성 시 ReadFromRepository 권한이 부여됩니다.

npm ping을 성공적으로 간접 호출한 결과는 다음과 같습니다.

$ npm -d ping npm info it worked if it ends with ok npm info using npm@6.4.1 npm info using node@v9.5.0 npm info attempt registry request try #1 at 4:30:59 PM npm http request GET https://<domain>.d.codeartifact.us-west-2.amazonaws.com/npm/shared/-/ping?write=true npm http 200 https:///npm/shared/-/ping?write=true Ping success: {} npm timing npm Completed in 716ms npm info ok

-d 옵션을 사용하면 npm이 리포지토리 URL을 포함한 추가 디버그 정보를 인쇄합니다. 이 정보를 통해 npm이 사용자가 예상한 리포지토리를 사용하도록 구성되어 있는지 쉽게 확인할 수 있습니다.

기본 npm 레지스트리로 다시 변경

CodeArtifact로 npm을 구성하면 npm 레지스트리는 지정된 CodeArtifact 리포지토리로 설정됩니다. CodeArtifact에 대한 연결이 완료되면 다음 명령을 실행하여 npm 레지스트리를 기본 레지스트리로 다시 설정할 수 있습니다.

npm config set registry https://registry.npmjs.com/

npm 8.x 이상을 사용한 느린 설치 속도 문제 해결

패키지 리포지토리에 요청을 보내고 리포지토리가 자산을 직접 스트리밍하는 대신 클라이언트를 Amazon S3로 리디렉션하는 경우 npm 클라이언트가 종속성별로 몇 분 동안 중단될 수 있는 문제가 npm 버전 8.x 이상에 있다고 알려져 있습니다.

CodeArtifact 리포지토리는 요청을 항상 Amazon S3로 리디렉션하도록 설계되었으므로 이 문제가 발생하여 npm 설치 시간이 길어져 구축 시간이 길어지는 경우가 있습니다. 이 동작의 인스턴스는 몇 분 동안 진행률 표시줄로 표시됩니다.

이 문제를 방지하려면 다음 예시와 같이 npm cli 명령과 함께 --no-progress 또는 progress=false 플래그를 사용하십시오.

npm install lodash --no-progress
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.