乐趣区

关于javascript:发布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

`{
  "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,须要抉择权限,以下权限必选
hub 申请一个 Tokenuser - setting - Developer settings - Personal access tokens - Generate new token,生成一个用以公布Npm 包的 Token,须要抉择权限,以下权限必选:

接下来将 Token 增加至 ~/.npmrcwin 用户是门路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
退出移动版