完全免費!GitHub發布軟件包管理服務:NPM瑟瑟發抖
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
GitHub 發布了全新的軟件包管理服務,叫GitHub Package Registry,完全免費。
有了它,用戶可以把自己的軟件包傳上 GitHub,就像發布源碼那樣。
官方介紹說,這項服務和NPM、Maven等許多現有的包管理器都兼容。并且,今后還會支持更多。
消息一出,網友紛紛感受到了一統天下的趨勢。
有人表示開心:
“好事啊,我現在同時用著好幾個包管理器,都能放到一起來搞的話,真是誘人。”
也有不少人擔心:
“我的 NPM 是不是藥丸?”“看到 GitHub 壟斷就不高興。”
那么,這到底是一項怎樣的服務?會給包管理工具的世界,帶來怎樣的震蕩?
大一統的包管理服務
首先,Package Registry 是和 GitHub 完全集成起來的。所以,搜索、瀏覽、管理工具都和從前沒差別。
軟件包可以和源碼并肩發布,也可以使用和源碼一樣的權限。
團隊說,下載快速穩定,是由 GitHub 全球 CDN 加持的。
現在,來具體介紹一下。
都有什么功能
在 Package Registry 上,你可以迅速查找公開的軟件包,或者你團隊內部的私有軟件包。
它兼容了許多包管理應用兼容,所以可以自由選擇工具,來發布自己的軟件包:
JavaScript (npm) ,Java (Maven) ,Ruby (RubyGems) ,.Net (NuGet) 以及 Docker images 都支持。未來還會支持更多,比如 Python 已經在路上了。
△ 網友焦急:下個支持 Go 啊
GitHub 說,如果你的 repo 很復雜,可以發布成好幾個不同類型的軟件包。
以及,通過 webhooks 或者 GitHub Actions,能夠完全定制發布中和發布后的 Workflow。
軟件可以發布成私有,也可以公開:
大多數開源項目,源碼都在 GitHub 上。可以把預發行版本 (Prerelease Versions) 的軟件包公布出來,在社區里做測試,也可以把某個版本放到公開的 Registry 里去。
統一的身份和權限
如果,你用了許多不同的系統來發布代碼和軟件包,那就需要許多套不同的 (身份認證用的) 用戶憑據和權限。
但現在在 GitHub 上,代碼和包可以用一套用戶憑據,也可以用同樣的工具來管理訪問權限。
GitHub 上的軟件包,延用了 Repo 的可見性 (Visibility) 和權限 (Permissions) ,這樣團隊就不用再跨系統去維護一個單獨的 Registry,以及鏡像的權限了。
詳細信息,知己知彼
GitHub 上托管的軟件包,都有詳細信息、下載統計,以及完整的歷史記錄可以查看。
用戶能明晰地了解包里都有些什么。這樣一來,就更容易找到適合自己的依賴項。
而包的主人查看數據統計,便可以詳細了解,其他人/其他項目都是怎樣使用了自己的軟件包。
你要試試么
現在,測試版已經上線了。
注冊一下就可以用:
https://github.com/features/package-registry/signup
GitHub Package Resgistry 是免費的。不過,團隊也在周圍開發一些附加功能,比如針對安全性 (Security) 和合規性 (Compliance) ,打算日后為商業用戶提供。
要變天了
軟件包管理器,在開發者的世界里舉足輕重。它們整合了自動安裝、配制、卸載、升級等等各種環節的工具。
比如,在開發應用的過程中,可能用到許多別人寫的軟件包。有了包管理器,就可以直接安裝軟件包,省去繁復的搜索、下載代碼、解壓……這一系列步驟。
如今,軟件包管理系統百花齊放。不同的開發環境,都有自己的包管理器。
每個管理器,有各自忠實的用戶。在 GitHub 發布了“大一統”的服務之后,他們都十分關心這些管理器的將來。
比如,Maven Central就是一個重量級倉庫。
Hacker News 評論區的頂樓說,Package Registry 出現了,表示 Maven 就要死了。
他還說,自己內心百感交集:
一方面,這個庫已經免費存在了很長時間,心生感激。
但另一方面,Key Registries 非常緩慢,幾個小時才能拿到自己的 Private Key。除此之外,開發用服務器 (Staging Server) 也很緩慢,總是超時。
而 GitHub 的新服務,是把 Registry 和存儲 (Artifact Storage) 分開的。
這樣是對的,因為Registry需要快速更新。而存儲就在我自己的控制范圍了。
另外,NPM 的用戶也在擔心它的命運:
這個服務,可以解決 NPM 的信任問題:你永遠不會知道,自己下載的這個包,來源是不是真像頁面上寫的那樣。
畢竟,NPM 現在內外交困:
NPM 這巨大的 Registry 人見人愛,可是已經快花光投資人的錢了,靠著私有 Registry 產品支撐。現在,又換了個奇怪的 CEO,投資人的耐心可能要消磨殆盡了。
不過,即便 GitHub 服務強勢來襲,依然有許多人保持懷疑的態度。比如:
兼容的意思是,兩邊的 Registry 可以一起用么?那如果名稱沖突了怎么辦呢?
有人回復了這條評論:
這才是真正的問題所在,可能對 JS 的生態系造成嚴重的破壞。要看 GitHub 怎么處理了。