發佈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,需要選擇權限,以下權限必選:
在這裏插入圖片描述
接下來將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/[email protected] --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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章