

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: パッケージリポジトリからプルする
<a name="packages-tutorial"></a>

このチュートリアルでは、[CodeCatalyst パッケージリポジトリ](packages-concepts.md#packages-concepts-repository)から依存関係をプルするアプリケーションを実行するワークフローの作成手順を説明します。アプリケーションは、CodeCatalyst ログに「Hello World」メッセージを出力するシンプルな Node.js アプリケーションです。アプリケーションには [lodash](https://www.npmjs.com/package/lodash) npm パッケージという 1 つの依存関係があります。`lodash` パッケージは、`hello-world` 文字列を `Hello World` に変換するために使用されます。このパッケージのバージョン 4.17.20 を使用します。

アプリケーションとワークフローを準備したら、CodeCatalyst を設定して `lodash` の他のバージョンをブロックし、外部のパブリックレジストリ ([npmjs.com](https://www.npmjs.com/)) から CodeCatalyst パッケージリポジトリにインポートされないようにします。その後、`lodash` の他のバージョンが正常にブロックされているかどうかテストします。

このチュートリアルを完了すると、ワークフローが CodeCatalyst 内外のパッケージリポジトリとどのようにやりとりし、パッケージを取得するのかを十分に理解できます。また、npm、パッケージリポジトリ、ワークフロー、アプリケーションの `package.json` ファイルの間で発生する裏側のやりとりについても理解することができます。

**Topics**
+ [前提条件](#packages-tutorial-prereqs)
+ [ステップ 1: ソースレポジトリを作成する](#packages-tutorial-source-repo)
+ [ステップ 2: CodeCatalyst パッケージリポジトリとゲートウェイパッケージリポジトリを作成する](#packages-tutorial-package-repo)
+ [ステップ 3: 「Hello World」アプリケーションを作成する](#packages-tutorial-create-app)
+ [ステップ 4:「Hello World」を実行するワークフローを作成する](#packages-tutorial-create-workflow)
+ [ステップ 5: ワークフローを検証する](#packages-tutorial-verify)
+ [ステップ 6: npmjs.com からのインポートをブロックする](#packages-tutorial-block)
+ [ステップ 7: ブロック機能をテストする](#packages-tutorial-test-block)
+ [クリーンアップ](#packages-tutorial-cleanup)

## 前提条件
<a name="packages-tutorial-prereqs"></a>

開始する前に:
+ CodeCatalyst **スペース**が必要です。詳細については、「[スペースを作成する](spaces-create.md)」を参照してください。
+ CodeCatalyst スペースに、次の名前を持つ空のプロジェクトが必要です。

  ```
  codecatalyst-package-project
  ```

  このプロジェクトを作成するには、**[ゼロから開始]** オプションを使用します。

  詳細については、「[Amazon CodeCatalyst での空のプロジェクトの作成](projects-create.md#projects-create-empty)」を参照してください。

## ステップ 1: ソースレポジトリを作成する
<a name="packages-tutorial-source-repo"></a>

このステップでは、CodeCatalyst に空のソースリポジトリを作成します。このリポジトリには、`index.js` や `package.json` など、チュートリアルのソースファイルが保存されます。

ソースリポジトリの詳細については、「[ソースリポジトリを作成する](source-repositories-create.md)」を参照してください。

**ソースリポジトリを作成するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクト「`codecatalyst-package-project`」に移動します。

1. ナビゲーションペインで **[コード]** を選択してから、**[ソースリポジトリ]** を選択します。

1. **[リポジトリの追加]** を選択し、**[リポジトリの作成]** を選択します。

1. **[リポジトリ名]** に次のように入力します。

   ```
   hello-world-app
   ```

1. **[作成]** を選択します。

## ステップ 2: CodeCatalyst パッケージリポジトリとゲートウェイパッケージリポジトリを作成する
<a name="packages-tutorial-package-repo"></a>

このステップでは、CodeCatalyst プロジェクトにパッケージリポジトリを作成します。また、CodeCatalyst プロジェクトでゲートウェイリポジトリにも接続します。その後、チュートリアルの依存関係 `lodash` を npmjs.com から両方のリポジトリにインポートします。

ゲートウェイリポジトリとは、CodeCatalyst のパッケージリポジトリをパブリック npmjs.com に接続する接着剤のようなものです。

パッケージリポジトリの作成方法については、「[CodeCatalyst でソフトウェアパッケージを公開および共有する](packages.md)」を参照してください。

**注記**  
このチュートリアルでは、以下の手順で CodeCatalyst で作成する 2 つのリポジトリを指す用語として、*CodeCatalyst パッケージリポジトリ*と*ゲートウェイリポジトリ*を使用します。

**CodeCatalyst パッケージリポジトリとゲートウェイリポジトリを作成するには**

1. ナビゲーションペインで、[**Packages (パッケージ)**] を選択します。

1. **[パッケージリポジトリの作成]** を選択します。

1. **[リポジトリ名]** に次のように入力します。

   ```
   codecatalyst-package-repository
   ```

1. **[\$1アップストリームリポジトリを選択]** を選択します。

1. **[ゲートウェイリポジトリ]** を選択します。

1. **[npm-public-registry-gateway]** ボックスで、**[作成]** を選択します。

1. **[選択]** を選択します。

1. **[作成]** を選択します。

   CodeCatalyst により、ゲートウェイリポジトリに接続されている `codecatalyst-package-repository` というパッケージリポジトリが作成されます。ゲートウェイリポジトリは npmjs.com レジストリに接続されています。

## ステップ 3: 「Hello World」アプリケーションを作成する
<a name="packages-tutorial-create-app"></a>

このステップでは、「Hello World」 Node.js アプリケーションを作成し、その依存関係 (`lodash`) をゲートウェイリポジトリと CodeCatalyst パッケージリポジトリにインポートします。

このアプリケーションを作成するには、Node.js と、関連する `npm` クライアントがインストールされている開発マシンが必要です。

このチュートリアルでは、CodeCatalyst 開発環境を開発マシンとして使用することを前提としています。CodeCatalyst 開発環境を使用する必要はありませんが、クリーンな作業環境が用意され、Node.js と `npm` がプリインストールされているうえに、チュートリアル終了後は簡単に削除できるため、使用することをお勧めします。CodeCatalyst 開発環境の詳細については、「[開発環境の作成](devenvironment-create.md)」を参照してください。

次の手順に従って CodeCatalyst 開発環境を立ち上げ、この開発環境を使用して「Hello World」アプリケーションを作成します。

**CodeCatalyst 開発環境を立ち上げるには**

1. ナビゲーションペインで、**[コード]**、**[開発環境]** の順に選択します。

1. 上部近くで **[開発環境を作成]** を選択し、**[AWS Cloud9 (ブラウザで)]** を選択します。

1. **[リポジトリ]** が `hello-world-app` に設定され、**[既存のブランチ]** が `main` に設定されていることを確認します。**[作成]** を選択します。

   開発環境が新しいブラウザタブで起動し、リポジトリ (`hello-world-app`) のクローンがそこに作成されます。

1. 両方の CodeCatalyst ブラウザタブを開いたままにして、次の手順に進みます。

**「Hello World」Node.js アプリケーションを作成するには**

1. 開発環境に移動します。

1. ターミナルプロンプトで、`hello-world-app` ソースリポジトリのルートディレクトリに変更します。

   ```
   cd hello-world-app
   ```

1. Node.js プロジェクトを初期化します。

   ```
   npm init -y
   ```

   初期化により、`hello-world-app` のルートディレクトリに `package.json` ファイルが作成されます。

1. 開発環境の npm クライアントを CodeCatalyst パッケージリポジトリに接続します。

   1. CodeCatalyst コンソールに切り替えます。

   1. ナビゲーションペインで、[**Packages (パッケージ)**] を選択します。

   1. `codecatalyst-package-repository` を選択してください。

   1. **[リポジトリに接続]** を選択します。

   1. **[トークンを作成]** をクリックします。個人用アクセストークン (PAT) が作成されます。

   1. **[コピー]** を選択してコマンドをコピーします。

   1. 開発環境に切り替えます。

   1. `hello-world-app` ディレクトリにいることを確認します。

   1. コマンドを貼り付けます。次のような内容です。

      ```
      npm set registry=https://packages.us-west-2.codecatalyst.aws/npm/ExampleCompany/codecatalyst-package-project/codecatalyst-package-repository/ --location project
      npm set //packages.us-west-2.codecatalyst.aws/npm/ExampleCompany/codecatalyst-package-project/hello-world-app/:_authToken=username:token-secret
      ```

1. `lodash` バージョン 4.17.20 をインストールします。

   ```
   npm install lodash@v4.17.20 --save --save-exact
   ```

   npm は、次の場所で `lodash` バージョン 4.17.20 を次の順序で検索します。
   + 開発環境。ここにはありません。
   + CodeCatalyst パッケージリポジトリ。ここにはありません。
   + ゲートウェイリポジトリ。ここにはありません。
   + npmjs.com。ここにあります。

   npm は、`lodash` をゲートウェイリポジトリ、CodeCatalyst パッケージリポジトリ、開発環境にインポートします。
**注記**  
ステップ 4 で npm クライアントを CodeCatalyst パッケージリポジトリに接続していなければ、npm は `lodash` を npmjs.com から直接プルし、パッケージはどちらのリポジトリにもインポートされることはありません

   npm は、`lodash` 依存関係を使用して `package.json` ファイルも更新し、`lodash` とそのすべての依存関係を含む `node_modules` ディレクトリを作成します。

1. `lodash` が開発環境に正常にインポートされたことを確認します。次のとおりに入力します。

   ```
   npm list
   ```

   インポートが成功したことを示す次のメッセージが表示されます。

   ```
   `-- lodash@4.17.20
   ```

1. (オプション) `hello-world-app/package.json` を開き、***赤い太字***の行が追加されていることを確認します。

   ```
   {
     "name": "hello-world-app",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
       "test": "echo \"Error: no test specified\" && exit 1"
     },
     "keywords": [],
     "author": "",
     "license": "ISC",
     dependencies": {
       "lodash": "4.17.20"
     }
   }
   ```

1. `/hello-world-app` に「`index.js`」という名前のファイルを次の内容で作成します。
**ヒント**  
このファイルを作成するには、開発環境のサイドナビゲーションを使用します。

   ```
   // Importing lodash library
   const _ = require('lodash');
   
   // Input string
   const inputString = 'hello-world';
   
   // Transforming the string using lodash
   const transformedString = _.startCase(inputString.replace('-', ' '));
   
   // Outputting the transformed string to the console
   console.log(transformedString);
   ```

**「lodash」がゲートウェイリポジトリと CodeCatalyst パッケージリポジトリにインポートされたことをテストするには**

1. CodeCatalyst コンソールに切り替えます。

1. ナビゲーションペインで、[**Packages (パッケージ)**] を選択します。

1. **[npm-public-registry-gateway]** を選択します。

1. `lodash` が表示されていることを確認します。**[最新バージョン]** の列には `4.17.20` が表示されます。

1. `codecatalyst-package-repository` でこの手順を繰り返します。インポートされたパッケージを表示するには、ブラウザウィンドウを再読み込みする必要があるかもしれません。

**開発環境で「Hello World」をテストするには**

1. 開発環境に切り替えます。

1. 引き続き `hello-world-app` ディレクトリにいることを確認し、アプリケーションを実行します。

   ```
   node index.js
   ```

   `Hello World` メッセージが表示されます。Node.js は、前のステップで開発環境にダウンロードした `lodash` パッケージを使用してアプリケーションを実行しました。

**「node\$1modules」ディレクトリを無視して「Hello World」をコミットするには**

1. `node_modules` ディレクトリを無視します。次のとおりに入力します。

   ```
   echo "node_modules/" >> .gitignore
   ```

   このディレクトリをコミットしないことをお勧めします。また、このディレクトリをコミットすると、このチュートリアルの後のステップに支障をきたします。

1. 追加、コミット、プッシュ:

   ```
   git add .
   git commit -m "add the Hello World application"
   git push
   ```

   「Hello World」アプリケーションファイルとプロジェクトファイルがソースリポジトリに追加されます。

## ステップ 4:「Hello World」を実行するワークフローを作成する
<a name="packages-tutorial-create-workflow"></a>

このステップでは、`lodash` 依存関係を使用して「Hello World」アプリケーションを実行するワークフローを作成します。ワークフローには、`RunHelloWorldApp` と呼ばれる 1 つの*アクション*、またはタスクが含まれています。`RunHelloWorldApp` アクションに含まれる主なコマンドとセクション:
+ **`Packages`**

  このセクションには、`npm install` の実行時にアクションが接続する必要がある CodeCatalyst パッケージリポジトリの名前が示されています。
+ **`- Run: npm install`** 

  このコマンドは、`package.json` ファイルで指定された依存関係をインストールするように npm に指示します。`package.json` ファイルで指定されている依存関係は `lodash` のみです。npm は、次の場所で `lodash` を検索します。
  + アクションを実行している Docker イメージ。ここにはありません。
  + CodeCatalyst パッケージリポジトリ。ここにあります。

  npm が `lodash` を検出すると、アクションを実行している Docker イメージにインポートされます。
+ **`- Run: npm list`**

  このコマンドは、アクションを実行している Docker イメージにダウンロードされた `lodash` のバージョンを出力します。
+ **`- Run: node index.js`**

  このコマンドは、`package.json` ファイルで指定された依存関係を使用して「Hello World」アプリケーションを実行します。

`RunHelloWorldApp` アクションはビルドアクションであることに注目してください。これは、ワークフローの上部にある `aws/build@v1` 識別子でわかります。うに、ビルドアクションの詳細については、「[ワークフローを使用したビルド](build-workflow-actions.md)」を参照してください。

次の手順を使用して、CodeCatalyst パッケージリポジトリから `lodash` 依存関係をプルし、「Hello World」アプリケーションを実行するワークフローを作成します。

**ワークフローを作成するには**

1. CodeCatalyst コンソールに切り替えます。

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. **[ワークフローを作成]** を選択します。

1. **[ソースリポジトリ]** で、`hello-world-app` を選択します。

1. **[ブランチ]** で、`main` を選択します。

   ワークフロー定義ファイルは、選択したソースリポジトリとブランチに作成されます。

1. **[作成]** を選択します。

1. 上部付近の **[YAML]** を選択します。

1. YAML サンプルコードを削除します。

1. 次の YAML コードを追加します。

   ```
   Name: codecatalyst-package-workflow
   SchemaVersion: "1.0"
   
   # Required - Define action configurations.
   Actions:
     RunHelloWorldApp:
       # Identifies the action. Do not modify this value.
       Identifier: aws/build@v1
       Compute:
         Type: Lambda
       Inputs:
         Sources:
           - WorkflowSource # This specifies your source repository. 
       Configuration:
         Steps:
           - Run: npm install
           - Run: npm list
           - Run: node index.js
         Container: # This specifies the Docker image that runs the action.
           Registry: CODECATALYST
           Image: CodeCatalystLinuxLambda_x86_64:2024_03
       Packages:
         NpmConfiguration:
           PackageRegistries:
             - PackagesRepository: codecatalyst-package-repository
   ```

   上記のコードで、*codecatalyst-package-repository* を、「[ステップ 2: CodeCatalyst パッケージリポジトリとゲートウェイパッケージリポジトリを作成する](#packages-tutorial-package-repo)」で作成した CodeCatalyst パッケージリポジトリの名前に置き換えます。

   このファイルのプロパティの詳細については、「[ビルドおよびテストアクション YAML](build-action-ref.md)」を参照してください。

1. (任意) **[検証]** を選択して、コミットする前に YAML コードが有効であることを確認します。

1. **[コミット]** を選択します。

1. **[ワークフローをコミット]** ダイアログボックスで、次のように入力します。

   1. **[ワークフローファイル名]** は、デフォルトの「`codecatalyst-package-workflow`」のままにします。

   1. **[コミットメッセージ]** には、次のように入力します。

      ```
      add initial workflow file
      ```

   1. **[リポジトリ]** で、**[hello-world-app]** を選択します。

   1. **[ブランチ名]** で、**[main]** を選択します。

   1. **[コミット]** を選択します。

   これでワークフローが作成されました。

**ワークフローを実行するには**

1. 先ほど作成したワークフロー (`codecatalyst-package-workflow`) の横にある **[アクション]** を選択し、**[実行]** を選択します。

   ワークフローの実行が開始されます。

1. 右上の緑色の通知で、実行へのリンクをクリックします。リンクは `View Run-1234` の形式で表示されます。

   ワークフロー図が表示され、実行を開始したユーザーと **RunHelloWorldApp** アクションが表示されます。

1. **[RunHelloWorldApp]** アクションボックスを選択して、アクションの進行状況を確認します。

1. 実行が完了したら、「[ステップ 5: ワークフローを検証する](#packages-tutorial-verify)」に進みます。

## ステップ 5: ワークフローを検証する
<a name="packages-tutorial-verify"></a>

このステップでは、ワークフローが「Hello World」アプリケーションをその `lodash` 依存関係を使用して正常に実行したことを確認します。

**「Hello World」アプリケーションが依存関係を使用して実行されたことを確認するには**

1. ワークフロー図で、**[RunHelloWorldApp]** ボックスを選択します。

   ログメッセージのリストが表示されます。

1. `node index.js` ログメッセージを展開します。

   次のメッセージが表示されます。

   ```
   [Container] 2024/04/24 21:15:41.545650 Running command node index.js
   Hello World
   ```

   `hello-world` ではなく `Hello Word` と表示されていることから、`lodash` 依存関係が正常に使用されたことがわかります。

1. `npm list` ログを展開します。

   次のようなメッセージが表示されます。

   ```
   └── lodash@4.17.20
   ```

   このメッセージは、ワークフローアクションを実行している Docker イメージに `lodash` バージョン 4.17.20 がダウンロードされたことを示しています。

## ステップ 6: npmjs.com からのインポートをブロックする
<a name="packages-tutorial-block"></a>

 `lodash` バージョン 4.17.20 がゲートウェイリポジトリと CodeCatalyst パッケージリポジトリに存在するため、他のバージョンのインポートをブロックできます。ブロックすると、悪意のあるコードが含まれている可能性がある `lodash` のそれ以降 (またはそれ以前の) バージョンを誤ってインポートできなくなります。詳細については、「[パッケージオリジンコントロールの編集](package-origin-controls.md)」および「[依存関係置換攻撃](package-origin-controls.md#dependency-substitution-attacks)」を参照してください。

ゲートウェイリポジトリへの `lodash` のインポートをブロックする手順は次のとおりです。ゲートウェイでパッケージをブロックすると、ダウンストリームの場所でもブロックされます。

**ゲートウェイリポジトリへのインポートをブロックするには**

1. ナビゲーションペインで、[**Packages (パッケージ)**] を選択します。

1. **[npm-publish-registry-gateway]** を選択します。

1. `lodash` を選択してください。

1. 上部付近で、**[オリジンコントロール]** を選択します。

1. **[アップストリーム]** で、**[ブロック]** を選択します。

1. **[保存]** を選択します。

   これで、npmjs.com からゲートウェイリポジトリ (およびダウンストリームリポジトリとコンピュータ) へのインポートがブロックされました。

## ステップ 7: ブロック機能をテストする
<a name="packages-tutorial-test-block"></a>

このセクションでは、「[ステップ 6: npmjs.com からのインポートをブロックする](#packages-tutorial-block)」で設定したブロックが機能していることを確認します。まず、「Hello World」を、ゲートウェイリポジトリで使用可能な `lodash` のバージョン 4.17.2**0** ではなく、バージョン 4.17.2**1** をリクエストするように設定します。次に、アプリケーションが nmpjs.com からバージョン 4.17.21 をプルできないことを確認します。これは、ブロックが成功したことを意味します。最後のテストとして、ゲートウェイリポジトリへのインポートのブロックを解除し、アプリケーションが `lodash` のバージョン 4.17.21 を正常にプルできることを確認します。

ブロック機能をテストするには、以下の手順を使用します。

**[開始する前に]**

1. 開発環境に切り替えます。

1. CodeCatalyst コンソールを使用して以前に作成した `codecatalyst-package-workflow.yaml` ファイルをプルします。

   ```
   git pull
   ```

**「lodash」のバージョン 4.17.21 をリクエストするように「Hello World」を設定するには**

1. `/hello-world-app/package.json` を開きます。

1. ***赤の太字***で示されているように、`lodash` のバージョンを 4.17.21 に変更します。

   ```
   {
     "name": "hello-world-app",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
       "test": "echo \"Error: no test specified\" && exit 1"
     },
     "keywords": [],
     "author": "",
     "license": "ISC",
     "dependencies": {
       "lodash": "4.17.21"
     }
   }
   ```

   これで、`package.json` ファイル内のバージョン (4.17.21) とゲートウェイリポジトリおよび CodeCatalyst パッケージリポジトリ内のバージョン (4.17.20) が一致しなくなりました。

1. 追加、コミット、プッシュ:

   ```
   git add .
   git commit -m "update package.json to use lodash 4.17.21"
   git push
   ```

**「Hello World」が「lodash」のバージョン 4.17.21 をプルできないことをテストするには**

1. バージョンが一致しない状態でワークフローを実行します。

   1. CodeCatalyst コンソールに切り替えます。

   1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

   1. `codecatalyst-package-workflow` の横で、**[アクション]**、**[実行]** の順に選択します。

      npm は `package.json` で依存関係をチェックし、`lodash` のバージョン 4.17.21 が「Hello World」で必要であることを確認します。npm は、次の場所で、次の順序で依存関係を探します。
      + アクションを実行している Docker イメージ。ここにはありません。
      + CodeCatalyst パッケージリポジトリ。ここにはありません。
      + ゲートウェイリポジトリ。ここにはありません。
      + npmjs.com。ここにあります。

      npm が npmjs.com でバージョン 4.17.21 を見つけた後、ゲートウェイリポジトリにインポートしようとしますが、`lodash` のインポートをブロックするようにゲートウェイを設定しているため、インポートは行われません。

      インポートが行われないため、ワークフローは失敗します。

1. ワークフローが失敗したことを確認します。

   1. 右上の緑色の通知で、実行へのリンクをクリックします。リンクは `View Run-2345` の形式で表示されます。

   1. ワークフロー図で、**[RunHelloWorldApp]** ボックスを選択します。

   1. `npm install` ログメッセージを展開します。

      次のメッセージが表示されます。

      ```
      [Container] 2024/04/25 17:20:34.995591 Running command npm install
      npm ERR! code ETARGET
      npm ERR! notarget No matching version found for lodash@4.17.21.
      npm ERR! notarget In most cases you or one of your dependencies are requesting
      npm ERR! notarget a package version that doesn't exist.
      
      npm ERR! A complete log of this run can be found in: /tmp/.npm/_logs/2024-05-08T22_03_26_493Z-debug-0.log
      ```

      エラーから、バージョン 4.17.21 が見つからなかったことがわかります。ブロックしているので、想定される結果です。

**npmjs.com からのインポートのブロックを解除するには**

1. ナビゲーションペインで、[**Packages (パッケージ)**] を選択します。

1. **[npm-publish-registry-gateway]** を選択します。

1. `lodash` を選択してください。

1. 上部付近で、**[オリジンコントロール]** を選択します。

1. **[アップストリーム]** で、**[許可]** を選択します。

1. **[保存]** を選択します。

   これで、`lodash` のインポートのブロックが解除されました。

   ワークフローで `lodash` のバージョン 4.17.21 をインポートできるようになりました。

**npmjs.com からのインポートがブロック解除されていることをテストするには**

1. ワークフローを再度実行します。4.17.21 のインポートが機能するようになったため、今回はワークフローが成功するはずです。ワークフローを再び実行するには:

   1. **[CI/CD]** を選択し、**[ワークフロー]** を選択します。

   1. `codecatalyst-package-workflow` の横で、**[アクション]**、**[実行]** の順に選択します。

   1. 右上の緑色の通知で、実行へのリンクをクリックします。リンクは `View Run-3456` の形式で表示されます。

      ワークフロー図が表示され、実行を開始したユーザーと **RunHelloWorldApp** アクションが表示されます。

   1. **[RunHelloWorldApp]** アクションボックスを選択して、アクションの進行状況を確認します。

   1. `npm list` ログメッセージを展開し、次のようなメッセージが表示されることを確認します。

      ```
      └── lodash@4.17.21
      ```

      このメッセージから、`lodash` バージョン 4.17.21 がダウンロードされたことがわかります。

1. バージョン 4.17.21 が CodeCatalyst およびゲートウェイリポジトリにインポートされたことを確認します。

   1. ナビゲーションペインで、[**Packages (パッケージ)**] を選択します。

   1. **[npm-public-registry-gateway]** を選択します。

   1. `lodash` を見つけて、バージョンが `4.17.21` であることを確認します。
**注記**  
バージョン 4.17.20 はこのページに表示されていませんが、`lodash` を選択して、上部にある **[バージョン]** を選択することで見つけることができます。

   1. 以上のステップを繰り返して、バージョン 4.17.21 が にインポートされたことを確認します`codecatalyst-package-repository`。

## クリーンアップ
<a name="packages-tutorial-cleanup"></a>

このチュートリアルで使用されているファイルとサービスをクリーンアップして、料金が発生しないようにします。

**パッケージのチュートリアルをクリーンアップするには**

1. `codecatalyst-package-project` を削除する:

   1. CodeCatalyst コンソールで、まだ `codecatalyst-package-project` プロジェクトにいない場合はプロジェクトに移動します。

   1. ナビゲーションペインで、**[プロジェクト設定]** を選択します。

   1. **[プロジェクトの削除]** を選択し、「**delete**」と入力し、**[プロジェクトの削除]** を選択します。

      CodeCatalyst は、ソースリポジトリ、ゲートウェイリポジトリ、CodeCatalyst パッケージリポジトリを含むすべてのプロジェクトリソースを削除します。開発環境も削除されます。

1. PAT トークンを削除する:

   1. 右側のユーザー名を選択し、**[マイ設定]** を選択します。

   1. **[個人用アクセストークン]** で、このチュートリアルで作成したトークンを選択し、**[削除]** を選択します。

このチュートリアルでは、CodeCatalyst パッケージリポジトリから依存関係をプルするアプリケーションを実行するワークフローの作成手順を学びました。また、パッケージがゲートウェイリポジトリや CodeCatalyst パッケージリポジトリに入るのをブロックする方法や、そのブロックを解除する方法も学びました。