公開しているnpmパッケージをGitHub Packagesから取得できるようにしました
じぶんのプロジェクトでつかうために、いくつかのnpmパッケージ を公開しています。これらのパッケージをGitHub Packagesから取得できるようにしました。
以下の設定を .npmrc
に追加すると、 @piyoppi
スコープのパッケージについては GitHub Packages(npm.pkg.github.com) から取得します。
//npm.pkg.github.com/:_authToken=${NPM_TOKEN} @piyoppi:registry=https://npm.pkg.github.com
インストールするときは、NPM_TOKEN環境変数を設定してふつうに npm install
します。たとえばこんなかんじ。
export NPM_TOKEN=xxxxxxxx npm install --save @piypppi/pico2map-editor
パッケージの取得にはGitHubのアクセストークンが必要です(ref)。NPM_TOKENには、read:packages
スコープの付いたアクセストークンを発行し、設定します。
たとえばHerokuにデプロイする過程で npm install
をするときは、上記 .npmrc
をコミットしておき、別途 NPM_TOKEN
環境変数を設定することで同様にパッケージを参照できます。
https://devcenter.heroku.com/articles/nodejs-support#private-dependencies
最近は自作ライブラリの公開に GitHub Actions を活用していますが、GitHub Packagesなら別途アクセストークンを用意しなくていい(GITHUB_TOKEN
がつかえる)ので、
お手軽だな~というかんじです。
また、開発中のパッケージをちょっと公開して自分のプロジェクトで参照したいときに、なんとなくnpmに公開するよりはお手軽感を感じているのでした。(たとえば、目下開発中の @piyoppi/pico2map-editor はいまのところGitHub Packagesでのみパッケージを公開しています。それ以外のパッケージはnpmでも公開しています。)
ではでは