{"author_url":"https://blog.hatena.ne.jp/play-saito/","title":"Verdaccio\u304b\u3089GitHub Packages\u3078\u306enpm\u30d1\u30c3\u30b1\u30fc\u30b8\u79fb\u884c","url":"https://developers.play.jp/entry/2025/10/08/102822","width":"100%","height":"190","blog_title":"PLAY DEVELOPERS BLOG","categories":["Node.js"],"provider_name":"Hatena Blog","type":"rich","author_name":"play-saito","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/p/playjp/20251008/20251008102836.jpg","version":"1.0","blog_url":"https://developers.play.jp/","provider_url":"https://hatena.blog","description":"\u80cc\u666f \u5f53\u521d\u60f3\u5b9a\u3057\u3066\u3044\u305f\u4f5c\u696d\u30d5\u30ed\u30fc \u5b9f\u969b\u306e\u4f5c\u696d\u30d5\u30ed\u30fc\uff08\u3068\u8d77\u3053\u3063\u305f\u554f\u984c\uff09 1. GitHub Packages\u306e\u521d\u671f\u8a2d\u5b9a Personal Access Token(PAT)\u306e\u8a2d\u5b9a \u30ed\u30fc\u30ab\u30eb\u30de\u30b7\u30f3\u306e\u521d\u671f\u8a2d\u5b9a ~/.npmrc\u306e\u4fee\u6b63 ~/.yarnrc\u306e\u4fee\u6b63 2. \u65e2\u5b58\u306enpm\u30d1\u30c3\u30b1\u30fc\u30b8\u3092GitHub Packages\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 registry\u8a2d\u5b9a\u306e\u8ffd\u52a0 \u65e2\u5b58\u306enpm\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30b9\u30b3\u30fc\u30d7\u306e\u554f\u984c npm scripts\u3067\u30a8\u30e9\u30fc \u4fee\u6b63\u6e08\u306epackage.json \u79fb\u884c\u7528\u30b9\u30af\u30ea\u30d7\u30c8\uff08Ruby\uff09 3. GitHub Packages\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb production\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u51fa\u6765\u306a\u3044\u554f\u984c 4.\u2026","published":"2025-10-08 10:28:22","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdevelopers.play.jp%2Fentry%2F2025%2F10%2F08%2F102822\" title=\"Verdaccio\u304b\u3089GitHub Packages\u3078\u306enpm\u30d1\u30c3\u30b1\u30fc\u30b8\u79fb\u884c - PLAY DEVELOPERS BLOG\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}