每日最新頭條.有趣資訊

完全免費!GitHub發布套裝軟體管理服務:NPM瑟瑟發抖

包栗子 發自 凹非寺

量子位 出品 | 公眾號 QbitAI

今天,GitHub發布了全新的套裝軟體管理服務,叫GitHub Package Registry完全免費

有了它,用戶可以把自己的套裝軟體傳上GitHub,就像發布源碼那樣。

官方介紹說,這項服務和NPMMaven等許多現有的包管理器都兼容。並且,今後還會支持更多。

消息一出,網友紛紛感受到了一統天下的趨勢。

有人表示開心

“好事啊,我現在同時用著好幾個包管理器,都能放到一起來搞的話,真是誘人。”

也有不少人擔心

“我的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怎麽處理了。

小程序|get更多AI學習乾貨

加入社群

量子位AI社群開始招募啦,量子位社群分:AI討論群、AI+行業群、AI技術群;

歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字“微信群”,獲取入群方式。(技術群與AI+行業群需經過審核,審核較嚴,敬請諒解)

喜歡就點「在看」吧 !

獲得更多的PTT最新消息
按讚加入粉絲團