Closed2
Private な Github Package を同じ Organization の別リポジトリにインストールする

詰まったのでメモ
前提として、GitHub Actions 経由でインストールすることを想定しています

npmrc の設定を確認
ローカルでインストールする場合も使用する.npmrc
のトークン部分を環境変数にする(PAT を直で埋め込んでいる場合のみ実施する)
//npm.pkg.github.com/:_authToken=${NPM_TOKEN}
@{organization名を入れる}:registry=https://npm.pkg.github.com
GitHub Actions を修正する
workflow と actions で分離している場合を例に取ります
GITHUB_TOKENを利用して、プライベートパッケージをインストールするためのトークンを設定します。
workflow
actions から secrets にアクセスできなかったため、 secrets.GITHUB_TOKEN
を利用できるように env に埋め込む
name: deploy to prod
on:
push:
branches:
- main
workflow_dispatch:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
actions
env に設定した GITHUB_TOKEN
を利用してインストールする
name: "install packages"
runs:
steps:
- name: Install dependencies
run: pnpm install
shell: bash
env:
NPM_TOKEN: ${{ env.GITHUB_TOKEN }}
packages settings を修正
パッケージ側からどのリポジトリに対して read を許可するのか設定する
手順は以下の通り
- パッケージのリンクにアクセス、おそらく以下のようなリンク
a. https://github.com/{organization}/{repository}/pkgs/npm/{package-name} - packages settings をクリック
- Manage Actions access という欄にて右上の Add repository を押す
- インストールさせたいリポジトリを選択して保存
この状態でワークフローを回せばインストールできるはず
このスクラップは2024/08/07にクローズされました