釋出Npm包到GitHub Packages
阿新 • • 發佈:2020-07-01
釋出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/[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