GitHub Packagesでプライベートなライブラリを公開
自分のみに公開して複数のリポジトリから使えるプライベートなライブラリを公開したい。そんなときに使えるGitHub Packages。
GitHub Packagesに公開
package.json
が重要。やりかたを失念したので割愛するが、以下の記事を参考にした記憶がある。
たしかnpm publish
の実行で比較的簡単にできた気がする。
GitHub Packagesの利用
手順は以下。
read:packages
のトークンを取得- 読み込む側に
.npmrc
を用意 - パッケージをインストール
- 利用する
read:packages
のトークンを取得
GitHubにアクセスし、 右上の自分のプロフィールアイコンより Settings > Developer settings > Personal access tokens の順にアクセス。 Generate new token > Generate new token(classic) を選択
ここではアップロードまで行うためread:packages
にチェックを入れGenerate tokenにする。
読み込む側に.npmrc
を用意
.npmrc
とはnpmレジストリ(今回であればGitHub Packages)からダウンロードする際の設定などを記載出来るファイルでread:packages
を内包したトークンの値を記載する。
@{GitHubのユーザー名 or 組織名}:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=<取得したトークンの値>
自分の場合は環境変数を使う形で以下のように記載。
@yk4neko:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${PACKAGES_AUTH_TOKEN}
パッケージをインストール
> npm install @{GitHubのユーザー名 or 組織名}/{リポジトリ名}
# or
> yarn add @{GitHubのユーザー名 or 組織名}/{リポジトリ名}
自分の環境ではyarnを使ってたので、以下のように実行。
yarn add @yk4neko/hogelib
利用する
ここでもimport時の指定は'@{GitHubのユーザー名 or 組織名}/{リポジトリ名}'
となる。
import techan from "@yk4neko/hogelib";
window.hogelib = hogelib;
importでエラーが起きずに使用できれば成功。