

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden von NPM-Paketen in CodeBuild
<a name="using-npm-packages-in-codebuild"></a>

Die folgenden Schritte wurden mit den Betriebssystemen getestet, die in den [Docker-Images von aufgeführt sind. CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html)

## Richten Sie Berechtigungen mit IAM-Rollen ein
<a name="npm-packages-in-codebuild-iam"></a>

Diese Schritte sind erforderlich, wenn Sie npm-Pakete von CodeArtifact in verwenden. CodeBuild

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich **Rollen**. Bearbeiten Sie auf der Seite **Rollen** die Rolle, die von Ihrem CodeBuild Build-Projekt verwendet wird. Diese Rolle muss über die folgenden Berechtigungen verfügen.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [ "codeartifact:GetAuthorizationToken",
                         "codeartifact:GetRepositoryEndpoint",
                         "codeartifact:ReadFromRepository"
                         ],
             "Resource": "*"
         },
         {       
             "Effect": "Allow",
             "Action": "sts:GetServiceBearerToken",
             "Resource": "*",
             "Condition": {
                 "StringEquals": {
                     "sts:AWSServiceName": "codeartifact.amazonaws.com"
                 }
             }
         }
     ]
   }
   ```

------
**Wichtig**  
 Wenn Sie die Option auch zum Veröffentlichen von Paketen verwenden CodeBuild möchten, fügen Sie die **codeartifact:PublishPackageVersion** entsprechende Berechtigung hinzu. 

   Weitere Informationen finden Sie unter [Ändern einer Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) im *IAM-Benutzerhandbuch*.

## Melden Sie sich an und verwenden Sie npm
<a name="npm-packages-in-codebuild-login"></a>

Um npm-Pakete von zu verwenden CodeBuild, führen Sie den `login` Befehl aus dem `pre-build` Abschnitt Ihres Projekts aus, aus `buildspec.yaml` dem Pakete abgerufen werden `npm` sollen. CodeArtifact Weitere Informationen finden Sie unter [Authentifizierung mit npm](npm-auth.md).

Nach `login` erfolgreicher Ausführung können Sie `npm` Befehle aus dem `build` Abschnitt zur Installation von NPM-Paketen ausführen.

### Linux
<a name="npm-packages-in-codebuild-login-linux"></a>

**Anmerkung**  
Ein Upgrade ist nur erforderlich, `pip3 install awscli --upgrade --user` wenn Sie ein älteres CodeBuild Image verwenden. AWS CLI Wenn Sie die neuesten Image-Versionen verwenden, können Sie diese Zeile entfernen.

```
pre_build:
  commands:
    - pip3 install awscli --upgrade --user
    - aws codeartifact login --tool npm --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}}
build:
  commands:
    - npm install
```

### Windows
<a name="npm-packages-in-codebuild-login-windows"></a>

```
version: 0.2
phases:
  install:
    commands:
      - '[Net.ServicePointManager]::SecurityProtocol = "Tls12"; Invoke-WebRequest https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile $env:TEMP/AWSCLIV2.msi'
      - Start-Process -Wait msiexec "/i $env:TEMP\AWSCLIV2.msi /quiet /norestart"
  pre_build:
    commands:
      - '&"C:\Program Files\Amazon\AWSCLIV2\aws" codeartifact login --tool npm --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}}'
  build:
    commands:
      - npm install
```