日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

发布与安装Github Packages

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发布与安装Github Packages 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在GitHub創建一個新倉庫作為測試GitHub Package使用,我創建的倉庫地址:airglass/test-github-package。從GitHub Setting,按下圖步驟創建“Personal access tokens”(簡稱PAT)。

PAT可作為管理GitHub倉庫或其它需要授權才能使用的API的密鑰使用,發布GitHub Package對應“Write”操作,安裝GitHub Package對應”Read“操作,此兩種操作都需明確要設置“讀/寫”GitHub Package權限。如下圖,勾選“write:packages”權限后,“repo”和“read:package”權限自動勾選。

生成PAT后,不要立即刷新或關閉當前頁面,否則將再也看不到如下圖創建的PAT。停留在當前頁面完成后續步驟。

將下方這一行代碼添加到“~”家目錄下的“.npmrc”文件中,并將“ACCESS_TOKEN”替換為在上面創建的PAT。

//npm.pkg.github.com/:_authToken=ACCESS_TOKEN

這是我的“~/.npmrc”文件,我已經將上面的一行代碼添加到文件的最后一行了。此時就可以關閉或刷新剛才創建PAT的頁面。

回到最一開始你創建的“test-github-package”倉庫,將倉庫代碼Clone到你的電腦上。我已經把這個測試項目clone到我的電腦上了。

在terminal中分別執行下面兩行命令:進入你的測試項目目錄內(“test-github-package”替換成你的項目目錄名);初始化NPM(-y選項表示稍后自動創建的package.json會全部使用默認值):

cd test-github-package npm init -y

對package.json做一些修改。在“name”屬性的原有名稱前加上你的GitHub用戶名,并且使用“@”符號開頭,用“/”符號分隔用戶名和項目倉庫名稱。添加一個新屬性publishConfig,顧名思義,設置package要發布的位置——發布到github而不是默認的npm。如下是我對package.json所作的修改:

{"name": "@airglass/test-github-package",..."publishConfig": {"registry":"https://npm.pkg.github.com"},... }

發布Github Package

回到terminal,執行“npm publish”,等待一會兒,名為“@airglass/test-github-package”的package就發布成功了。

在真實的項目中,未編譯的源文件一般會存放在“src”目錄,構建后的文件會放在“dist”目錄。“dist”一般不會提交到代碼倉庫,所以會在項目根目錄下添加“.gitignore”文件(類似文件黑名單),將“dist”目錄加入其中,出現在其中的文件或目錄都不會提交到GitHub倉庫。

此時用“npm publish --dry-run”命令測試發布一下(此命令不會真正發布package),發現此時發布的package中也不會包含“dist”目錄了。添加空的“.npmignore”文件(類似文件黑名單),即可覆蓋“.gitignore”對發布package時忽略那些文件產生的影響。

一句話總:對于控制哪些文件或目錄會被Git版本管理,取決于“.gitignore”文件,對于控制哪些文件或目錄會隨package發布,“.npmignore”的優先級高于“.gitignore”文件。

但我希望發布的package中只包含構建后的“dist”目錄,而不包含“src”目錄,只需在“.npmignore”中添加一行“src”,發布的包中就不會包含“src”目錄及其中的文件。

控制發布的包中需要包含哪些文件,白名單或許比黑名單更好用。“.gitignore”和“.npmignore”都是黑名單,出現在其中的文件要么不會被Git管理,要么不會發布到包。“package.json”中有個“files”屬性類似白名單,它能控制哪些文件或目錄會發布。“files”屬性的優先級高于“.npmignore”。

... "files": ["dist" ], ...

安裝GitHub Package

用npm install命令安裝package,需要將”–registry“選項設置為“https://npm.pkg.github.com”,否則默認從“https://registry.npmjs.org”搜索要安裝的package,發生因找不到package而安裝失敗的問題。

npm install @airglass/test-github-package@1.0.0 --registry=https://npm.pkg.github.com

也可在項目根目錄下創建“.npmrc”文件,以指定在該目錄安裝的所有packages都從這個registry源下載:

registry=https://npm.pkg.github.com

用“–prefix”選項設置指定的安裝位置,如安裝到當前相對路徑下的my-packages目錄中:

npm install --prefix ./my-packages @airglass/test-github-package@1.0.0

自定義安裝位置后的目錄結構如下:

my-packages |- node_modules|- @airglass|- test-github-package|- package.json|- README.md .npmrc package-lock.json

總結

以上是生活随笔為你收集整理的发布与安装Github Packages的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。