> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 依存関係を管理する

> Auth0 Actions内で依存関係をインストールして管理する方法について説明します。

Actionsでは[`npm`レジストリ](https://www.npmjs.com/)からのパッケージを使用することができます。<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=auth0-dashboard" tip="Auth0 Dashboard: サービスを構成するためのAuth0の主製品。" cta="用語集の表示">Auth0 Dashboard</Tooltip>のアクションコードエディターまたはAuth0 <Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>を使用して、アクションに依存関係をインストールし、管理することができます。

## アクションコードエディターで依存関係を追加する

公開の`npm`レジストリからパッケージに対する依存関係を追加するには、以下を行います。

1. [［Auth0 Dashboard］>［Actions （アクション）］>［Library（ライブラリー）］](https://manage.auth0.com/#/actions/library)に移動して、アクションを選択します。
2. アクションコードエディターのサイドバーにある［Modules（モジュール）］（立方体）アイコンを選択します。
3. **［Add Module（モジュールの追加）］** モジュールの名前を入力します。使用可能な最新バージョンのパッケージを使用するには、バージョンのフィールドを空のままにします。
4. Actionsコードでモジュールを必須にします。たとえば、Axiosパッケージを追加した場合には、アクションコードエディターでコードの始めに以下の行を追加します。

   ```javascript lines theme={null}
   const axios = require('axios');
   ```

## Auth0 Management APIで依存関係を追加する

Auth0 Management APIの[アクション作成エンドポイント](/docs/ja-jp/api/management/v2#!/Actions/post_action)を使用して、依存関係を追加することもできます。エンドポイントを呼び出す際には、ペイロード内で依存関係を指定します。

```bash lines theme={null}
curl -H "Authorization: Bearer {managementApiToken}" \
     -X POST  -H "Content-Type: application/json" \
     -d '{ \
            "name":"my-action", \
            "supported_triggers":[{"id":"post-login","version":"v2"}], \
            "code":"module.exports = () => {}",\
            "dependencies": [{\
                "name":"lodash",\
                "version":"4.17.21"\
            }],\
            "runtime":"node14"\
        }' \
    https://{yourTenant}.com/api/v2/actions/actions
```

## セキュリティに関する考慮事項

サードパーティーのパッケージには脆弱性や悪意のあるコードが含まれている可能性があるため、アクションで使用する前に、パッケージを検査することをお勧めします。また、ソフトウェア構成分析ツールを使用して、パッケージにある脆弱性の監視を続けることをお勧めします。

## アクションでの依存関係に関する制限事項

### ネイティブモジュールの非対応

アクションではネイティブモジュールは使用できません。ネイティブモジュールに依存するアクションを実行すると、エラーが発生し、`Compilation failed:Cannot find module`（コンパイルの失敗：モジュールが見つかりません）というメッセージが表示されます。

`npm`パッケージがネイティブかを確認するには、`npm`パッケージの公開GitHubリポジトリに移動して、コードが使用している言語をサイドバーで確認します。言語にC/C++が含まれている場合には、パッケージはおそらくネイティブです。よく利用されるものには、たとえば、`bcrypt`や`sqlite3`などがあります。

### 非公開モジュールや非公開レジストリの非対応

アクションでは非公開の`npm`モジュールや非公開の`npm`レジストリは使用できません。アクションは[公開の`npm`レジストリ](https://registry.npmjs.org)を使用します。
