https://github.com/hisasann/hello-world-github-packages
hello world github packages
https://github.com/hisasann/hello-world-github-packages
github-packages npm-package
Last synced: 5 months ago
JSON representation
hello world github packages
- Host: GitHub
- URL: https://github.com/hisasann/hello-world-github-packages
- Owner: hisasann
- Created: 2020-03-26T07:54:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T20:22:49.000Z (almost 2 years ago)
- Last Synced: 2025-05-15T03:12:56.614Z (5 months ago)
- Topics: github-packages, npm-package
- Language: JavaScript
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🥕 hello-world-github-packages
以下のドキュメントを見ながらやった備忘録である。
[Configuring npm for use with GitHub Packages - GitHub Help](https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages)
作った Github Packages のリポジトリはこちら、
[Package hello-world-github-packages · hisasann/hello-world-github-packages](https://github.com/hisasann/hello-world-github-packages/packages/162978)
## package.jsonに以下を追加する
`npm publish` するときのレジストリーを指定します。
```json
"publishConfig": { "registry": "https://npm.pkg.github.com/" }
```## GitHub Packagesはscoped npm packagesのみである
> GitHub Packages only supports scoped npm packages.
と書いてあるとおり、 `@OWNER/your-github-package-repository` のように **scoped** になる。
## Github Packagesにログインする
```bash
$ npm login --registry=https://npm.pkg.github.com/
```* GitHub のユーザーネーム
* Personal access token
* mail addressを入力します。
Personal access token は、
GitHub の `Settings -> Developer settings -> Personal access tokens` で作成できます。指定する権限は、以下。
* repo
* write:packages
* read:packages## publishする
```bash
$ npm publish
```[Your Packages](https://github.com/hisasann?tab=packages)
## ~/.npmrc
おそらくですが、 `npm login` すると以下の一行が `~/.npmrc` に追加される(ぼくの場合はファイル自体もなかったので、作成もされた)
```bash
//npm.pkg.github.com/:_authToken=TOKEN
```## 公開したGithub Packagesをnpm installしてみる
以下のように普通に `npm install` すると、
```bash
$ npm install @hisasann/hello-world-github-packages@0.0.1
```npmjs に取りにいってしまいエラーとなってしまうので、
```bash
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@hisasann%2fhello-world-github-packages - Not found
```## プロジェクト/.npmrcに以下を追記する
`npm install` するプロジェクトのルートで(package.jsonがあるディレクトリで)、 `.npmrc` ファイルに以下を追記します。
```bash
registry=https://npm.pkg.github.com/
```これで、まずは Github Packages を見に行ってくれ、なければ npmjs のレジストリーに見に行ってくれます。
つまり、こちらは Github Packages から。
```bash
$ npm install @hisasann/hello-world-github-packages@0.0.1
```こちらは、 npm 本家から。
```bash
$ npm install lodash
```## Github Actions経由でnpm publishする
```yaml
name: Node.js Package
on:
release:
types: [created]
jobs:
build:
name: Github Packages Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# GitHub Packagesへの公開のために.npmrcファイルをセットアップ
- uses: actions/setup-node@v1
with:
node-version: '12.x'
registry-url: 'https://npm.pkg.github.com'
scope: '@hisasann' # Defaults to the user or organization that owns the workflow file
- run: npm install
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```via [Node.jsパッケージの公開 - GitHub ヘルプ](https://help.github.com/ja/actions/language-and-framework-guides/publishing-nodejs-packages)
## 参考記事
[GitHub Package Registry を npm で使う - Qiita](https://qiita.com/nall/items/5e94f37288c3e796a85e)
[GitHub Packages でパッケージを公開する](https://aggre.io/post/publish-package-with-github-packages)
## 🍟 Author
- [github/hisasann](https://github.com/hisasann)
- [twitter/hisasann](https://twitter.com/hisasann)## 🥫 License
MIT © [hisasann (Yoshiyuki Hisamatsu)](https://github.com/hisasann)