# Yarn - プライベートパッケージ

Aikido がプライベートパッケージを使用するリポジトリで依存関係を更新する際、ロックファイルを正しく更新するためにそれらのパッケージへのアクセスが必要です。これらの更新を実行するために、Aikido があなたのプライベート NPM レジストリで認証するよう設定できます。

## 前提条件 <a href="#prerequisites" id="prerequisites"></a>

もし使用しているのが **Yarn v1**の場合は、 `.npmrc` Aikido のオプションで、以下に記載されているとおり [NPM と PNPM のドキュメント](https://help.aikidogov.us/docs/docs-ja/autofix-and-remediation/connect-private-packages/npm-private-packages)。なお **Yarn v2 以降**の場合は、 `.yarnrc.yml` プライベートパッケージへのアクセスを設定するためのファイル。

### **設定 `.yarnrc.yml`**

プライベートパッケージへのアクセスは、 `.yarnrc.yml` プロジェクト内のファイルです。このファイルでは `npmScopes` プライベートパッケージ用の設定を定義し、使用するレジストリを指定します。

もし `.yarnrc.yml` ファイルが Aikido で設定されている場合、私たちは `.yarnrc.yml` あなたの `yarn.lock` 依存関係を更新する前にファイルを更新します。もし `.yarnrc.yml` リポジトリにそのファイルが存在する場合、 `.yarnrc.yml` Aikido で設定されたファイルです。

例 `.yarnrc.yml`

```yaml
npmScopes:
  piedPiper:
    npmAuthToken: "<YOUR_GITHUB_TOKEN>"
    npmRegistryServer: "https://npm.pkg.github.com"
```

詳しくは Yarn のドキュメントをご覧ください [こちら](https://yarnpkg.com/configuration/yarnrc#npmScopes).

## Aikido での構成 <a href="#configuration-in-aikido" id="configuration-in-aikido"></a>

プライベートパッケージを使用するリポジトリを更新できるようにするには、Aikido の UI でプライベートレジストリの設定を指定してください。Aikido は認証情報を暗号化して保存し、認証情報は Aikido の UI や API から取得できません。

1. 次へ移動します： *自動修正* > *設定* Aikido で、 [こちら](https://app.aikido.dev/issues/fix/settings).
2. 「*レジストリを接続*」とすると、選択モーダルが表示されます。

<figure><img src="https://help.aikidogov.us/_assets/f45f83e8a3f9/image-214.png" alt=""><figcaption></figcaption></figure>

3. Yarn を選択して、次を入力してください `.yarnrc.yml` ファイル。（Yarn V1 では、NPM を選択する必要があります。）

<figure><img src="https://help.aikidogov.us/_assets/759aa3111372/image-220.png" alt=""><figcaption></figcaption></figure>

4. ファイルの内容を入力してください。 `.yarnrc.yml` ファイル。例では、piedPiper の GitHub 組織における GitHub Packages の設定を示しています。
5. 「*レジストリを接続*」をクリックして、設定を保存します。
