发布Npm包到GitHub Packages
发布Npm包到GitHub Packages
Github
集成了GitHub Packages
功能,目前提供了Npm
、Docker
、Maven
、NuGet
、RubyGems
的包管理工具,可以通过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
。
{
"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
申请一个Token
,user - setting - Developer settings - Personal access tokens - Generate new token
,生成一个用以发布Npm
包的Token
,需要选择权限,以下权限必选:
接下来将Token
添加至~/.npmrc
,win
用户是路径C://users/current-user
。
//npm.pkg.github.com/:_authToken=TOKEN
或者使用npm login
命令进行授权,注意用户名要全部小写,Token
的输入是以密码的方式输入,不会显示。
npm login --registry=https://npm.pkg.github.com
> Username: USERNAME
> Password: TOKEN
> Email: PUBLIC-EMAIL-ADDRESS
接下来在项目的根目录添加一个~/.npmrc
文件,并添加如下配置。
registry=https://npm.pkg.github.com/WindrunnerMax
接下来就可以使用npm publish
命令发布包。
npm publish --access=public
安装
需要注意的是,无论发布包还是安装包都需要授权,也就是上述生成Token
以及配置的过程,否则无法安装指定的包,以我发布的包为例,执行安装。
npm install -g @windrunnermax/mini-program-cli@1.1.0 --registry=https://npm.pkg.github.com/
如果使用Github
安装Npm
包很慢的话,可以考虑配置代理,同样是在~/.npmrc
文件中加入配置。
proxy=socks5://127.0.0.1:1080
https-proxy=socks5://127.0.0.1:1080
Github
https://github.com/WindrunnerMax
发布Npm包到GitHub Packages的更多相关文章
- 不会发布npm包?进来看看?
前言 npm(Node Package Manager),一个Node的包管理器,平时我们常用的公共模块(插件)或者叫做包大多都放在上面,所以接下来要封装的插件,我们就简单称它为npm包,本文从就从这 ...
- 创建并发布npm包
1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm np ...
- 使用cnpm搭建私有NPM仓库 发布npm包
关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记 ...
- 前端组件用 Scope 发布 npm 包的方法
1.引言 多人.多组织或多组件发布 npm 包到同一个仓库时,可能出现命名冲突问题. 为了解决这个问题,npm 引入了“scope”(范围)概念. 在 Angular 项目中,我们通常可以看到“@an ...
- 使用Vue-cli3.0创建的项目,如何发布npm包
使用Vue-cli3.0创建的项目,如何发布npm包 在使用vue进行项目开发时,如果我们想要发布一个包,有时候会有点迷糊,不知道应该怎么修改脚手架的默认设置.这里记录一下一些常见的操作. 创建ind ...
- 用@vue/cli发布npm包
1.环境准备 安装node,npm,@vue/cli 2.初始化项目 用@vue/cli创建新项目 vue create mtest-ui 删除public,main.js,App.vue等无关文件, ...
- 使用vuecli3发布npm包
一.使用vuecli3创建项目 vue create svgicon 二.修改目录,开发组件前的准备 把src目录改为examples作为查看组件的演示目录,新建packages目录作为组件编写的目录 ...
- 开发并发布npm包,支持TypeScript提示,rollup构建打包
前言: 工作了几年,想把一些不好找现成的库的常用方法整理一下,发布成npm包,方便使用.也学习一下开发发布流程. 主要用到的工具:npm. 开发库:babel.typescript.rollup.es ...
- node学习笔记8——发布npm包
1.注册一个npm账号: 2.在控制台输入 npm login: 依次输入你的账号信息,可通过 npm whoami 来验证是否登录成功 3.初始化包,控制台输入 npm init: 完成之后,可以看 ...
- 基于vue组件,发布npm包
亲测好用,如出错,请留言 1.项目初始化 使用vue脚手架创建,但vuecli太重,我们使用简单的工程脚手架进行处理,输入命令 vue init webpack-simple my-project n ...
随机推荐
- Laravel : 模糊查询 where orWhere
Banner::where('title', 'like', "%{$keyword}%")->orWhere('introduce', 'like', "%{$k ...
- SV 并发线程
内容 assign d = a & b; assign e = b | c; begin...end之间的语句是串行执行的 fork....join语句是并行执行的 逻辑仿真工具中的并发性 仿 ...
- TLS简单理解
TLS简单理解 TLS的历史 From GTP3.5 TLS(传输层安全)是一种加密协议,旨在确保 Internet 通信的安全性和隐私保护.下面是 TLS 的历史概述: SSL(安全套接层):TLS ...
- [转帖]Java 提速之 Large pages【译】
https://juejin.cn/post/7011002046899978253 一.前言 最近花了很多时间在 JVM 的内存预留代码上.它开始是因为我们得到了外部贡献,以支持在 Linux 上使 ...
- Jmeter学习之三_知识梳理
Jmeter学习之三_知识梳理 背景 简单学习了Jmeter的两个用例 感觉可以继续深入学习一下Jmeter了. 所以想着趁体检入职之前继续学习完善一下. 希望能够继续提高 Jmeter的相关知识 1 ...
- [转帖]5.2. 使用HINT
¶ 本章节包含以下内容: 概述 HINT的功能 HINT的使用 配置参数 示例 注意 5.2.1. 概述 ¶ KingbaseES使用的是基于成本的优化器.优化器会估计SQL语句的每个可能的执行计划的 ...
- 【转贴】linux命令总结之seq命令
linux命令总结之seq命令 https://www.cnblogs.com/ginvip/p/6351720.html 功能: seq命令用于产生从某个数到另外一个数之间的所有整数. 语法: 1 ...
- ESXi查看底层存储磁盘厂商型号的方式与方法
ESXi查看底层存储磁盘厂商型号的方式与方法 背景 公司一台过保的服务器出现了磁盘告警 Vendor不太靠谱. 过保的机器就不管了 不买他们的服务器也不说一下是啥硬盘. 想自己替换,需要先获取磁盘的型 ...
- vue3异步组件按需加载和vue2异步组件的按需加载
vue3 按需加载组件 子组件.vue <template> <div> <p>这个组件按需加载</p> <h1>这个组件显示</h1 ...
- [西湖论剑 2022]web部分题解(更新中ing
[西湖论剑 2022]Node Magical Login 环境!启动!(ノへ ̄.) 这么一看好像弱口令啊,(不过西湖论剑题目怎么会这么简单,当时真的傻),那就bp抓包试一下(这里就不展示了,因为是展 ...