前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >发布Npm包到GitHub Packages

发布Npm包到GitHub Packages

作者头像
WindrunnerMax
发布2020-08-27 16:37:59
1.1K0
发布2020-08-27 16:37:59
举报
文章被收录于专栏:Czy‘s BlogCzy‘s Blog

发布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

代码语言:javascript
复制
{
  "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

代码语言:javascript
复制
//npm.pkg.github.com/:_authToken=TOKEN

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

代码语言:javascript
复制
npm login --registry=https://npm.pkg.github.com
> Username: USERNAME
> Password: TOKEN
> Email: PUBLIC-EMAIL-ADDRESS

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

代码语言:javascript
复制
registry=https://npm.pkg.github.com/WindrunnerMax

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

代码语言:javascript
复制
npm publish --access=public

安装

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

代码语言:javascript
复制
npm install -g @windrunnermax/mini-program-cli@1.1.0 --registry=https://npm.pkg.github.com/

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

代码语言:javascript
复制
proxy=socks5://127.0.0.1:1080
https-proxy=socks5://127.0.0.1:1080

Github

代码语言:javascript
复制
https://github.com/WindrunnerMax
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 发布Npm包到GitHub Packages
    • 发布
      • 安装
        • Github
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档