ハマったのでメモ。正しい情報にたどり着くまで時間がかかってしまったyarn だと npm の場合と比べてちょっと設定が異なるので注意が必要だよという話前提
GitHub Package Registry にホスティングしている社内用非公開パッケージ をホスティングし、yarn install 時にそれらを取得するアーキテクチャに変更非公開パッケージなので、社外の人には使えないようになっている。ローカルでこのパッケージを取得するには、アクセストークンを手元で登録する必要がある認証を通す(3ステップ)
1. repo / read 権限を付与したトークンを作成
https://github.com/settings/tokens から、Generate new token を押して、トークンを作成read 権限を付与して、トークンを作成トークンが作成されるので、コピーしておく2. ログインする
npm login --registry=https://npm.pkg.github.com コマンドを叩くUsername は、自分の GitHub アカウントPassword は先程のコピペしたトークンを貼ってください(⚠ ここが罠 パスワード入力しないように)ログインが通れば成功ログインと言っても、実体としては ~/.npmrc に設定が一行追加されるだけ(なので、直接追記しても OK)3. .yarnrc を準備し、yarn install
GitHub Private Registry を使用したいリポジトリの直下に .yarnrc ファイルを作成設定は以下を参考に(yarn コマンドを叩いたときに、GitHub の registry も見に行くようになる)@xxx の部分は、自分のアカウント名、または所属組織名を入力JavaScript
registry "https://registry.npmjs.org"
"@xxx:registry" "https://npm.pkg.github.com"
yarn install するうまく通らないと以下のエラーが出る。出なければ OKJavaScript
Error: Couldn't find package "@japan-culture-and-technology/calchez-models" on the "npm" registry.
🐈
🐈
🐈
🐈
参考
Stackoverflow とかにもあったけど、誤った情報もけっこうあったので苦戦しました。以下の記事がとても完結にまとまっていて良かったです。
Node.js + Github Private Registry🐈
今回は使用する方だったのですが、自分で Private Registry に公開する方法もそのうち記事化したい気持ちです。