发布Npm包到GitHub Packages

发布Npm包到GitHub Packages

Github集成了GitHub Packages功能,目前提供了NpmDockerMavenNuGetRubyGems的包管理工具,可以通过Github管理开源包,本文主要介绍使用GitHub Packages发布Npm包。

发布#

首先需要制作一个package.json文件,可以通过npm init命令根据提示生成一个package.json文件。
在这里插入图片描述
这是已经发布好的package.json文件,作为示例,需要注意的是name字段、publishConfig字段与repository字段的配置,在GitHub Packages发布的包属于作用域包,需要使用@username/package-name的形式作为name字段,publishConfig是发布到GitHub Packages的必填且值固定的字段,repository字段是必须要指定的仓库url,可以发布多个包到一个仓库,可以参考https://github.com/WindrunnerMax/Asse/packages/292805

Copy
{ "name": "@WindrunnerMax/mini-program-cli", "version": "1.1.0", "description": "Uniapp小程序开发脚手架", "author": "Czy", "license": "MIT", "bin": { "mini-program": "bin/cli.js" }, "scripts": { "test": "echo \"Please use HbuildX import this project\"" }, "engines": { "node": ">= 8" }, "publishConfig": { "registry": "https://npm.pkg.github.com/WindrunnerMax" }, "repository": "https://github.com/WindrunnerMax/Asse" }

下面需要授权,首先在Github申请一个Tokenuser - setting - Developer settings - Personal access tokens - Generate new token,生成一个用以发布Npm包的Token,需要选择权限,以下权限必选:
在这里插入图片描述
接下来将Token添加至~/.npmrcwin用户是路径C://users/current-user

Copy
//npm.pkg.github.com/:_authToken=TOKEN

或者使用npm login命令进行授权,注意用户名要全部小写,Token的输入是以密码的方式输入,不会显示。

Copy
npm login --registry=https://npm.pkg.github.com > Username: USERNAME > Password: TOKEN > Email: PUBLIC-EMAIL-ADDRESS

接下来在项目的根目录添加一个~/.npmrc文件,并添加如下配置。

Copy
registry=https://npm.pkg.github.com/WindrunnerMax

接下来就可以使用npm publish命令发布包。

Copy
npm publish --access=public

安装#

需要注意的是,无论发布包还是安装包都需要授权,也就是上述生成Token以及配置的过程,否则无法安装指定的包,以我发布的包为例,执行安装。

Copy
npm install -g @windrunnermax/mini-program-cli@1.1.0 --registry=https://npm.pkg.github.com/

如果使用Github安装Npm包很慢的话,可以考虑配置代理,同样是在~/.npmrc文件中加入配置。

Copy
proxy=socks5://127.0.0.1:1080 https-proxy=socks5://127.0.0.1:1080

Github#

Copy
https://github.com/WindrunnerMax
posted @   WindRunnerMax  阅读(681)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
CONTENTS