加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

发布时间:2019-05-14 09:06:57 所属栏目:建站 来源:包栗子
导读:本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 GitHub 发布了全新的软件包管理服务,叫GitHub Package Registry,完全免费。 有了它,用户可以把自己的软件包传上 GitHub,就像发布源码那样。 官方介绍说,这项服务和NPM、Maven等许

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 

GitHub 发布了全新的软件包管理服务,叫GitHub Package Registry,完全免费。

有了它,用户可以把自己的软件包传上 GitHub,就像发布源码那样。

官方介绍说,这项服务和NPM、Maven等许多现有的包管理器都兼容。并且,今后还会支持更多。

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

消息一出,网友纷纷感受到了一统天下的趋势。

有人表示开心:

“好事啊,我现在同时用着好几个包管理器,都能放到一起来搞的话,真是诱人。”

也有不少人担心:

“我的 NPM 是不是药丸?”“看到 GitHub 垄断就不高兴。”

那么,这到底是一项怎样的服务?会给包管理工具的世界,带来怎样的震荡?

大一统的包管理服务

首先,Package Registry 是和 GitHub 完全集成起来的。所以,搜索、浏览、管理工具都和从前没差别。

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

软件包可以和源码并肩发布,也可以使用和源码一样的权限。

团队说,下载快速稳定,是由 GitHub 全球 CDN 加持的。

现在,来具体介绍一下。

都有什么功能

在 Package Registry 上,你可以迅速查找公开的软件包,或者你团队内部的私有软件包。

它兼容了许多包管理应用兼容,所以可以自由选择工具,来发布自己的软件包:

JavaScript (npm) ,Java (Maven) ,Ruby (RubyGems) ,.Net (NuGet) 以及 Docker images 都支持。未来还会支持更多,比如 Python 已经在路上了。

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

△ 网友焦急:下个支持 Go 啊

GitHub 说,如果你的 repo 很复杂,可以发布成好几个不同类型的软件包。

以及,通过 webhooks 或者 GitHub Actions,能够完全定制发布中和发布后的 Workflow。

软件可以发布成私有,也可以公开:

大多数开源项目,源码都在 GitHub 上。可以把预发行版本 (Prerelease Versions) 的软件包公布出来,在社区里做测试,也可以把某个版本放到公开的 Registry 里去。

统一的身份和权限

如果,你用了许多不同的系统来发布代码和软件包,那就需要许多套不同的 (身份认证用的) 用户凭据和权限。

但现在在 GitHub 上,代码和包可以用一套用户凭据,也可以用同样的工具来管理访问权限。

GitHub 上的软件包,延用了 Repo 的可见性 (Visibility) 和权限 (Permissions) ,这样团队就不用再跨系统去维护一个单独的 Registry,以及镜像的权限了。

详细信息,知己知彼

GitHub 上托管的软件包,都有详细信息、下载统计,以及完整的历史记录可以查看。

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

用户能明晰地了解包里都有些什么。这样一来,就更容易找到适合自己的依赖项。

而包的主人查看数据统计,便可以详细了解,其他人/其他项目都是怎样使用了自己的软件包。

你要试试么

现在,测试版已经上线了。

注册一下就可以用:
https://github.com/features/package-registry/signup

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

GitHub Package Resgistry 是永久免费的。不过,团队也在周围开发一些附加功能,比如针对安全性 (Security) 和合规性 (Compliance) ,打算日后为商业用户提供。

要变天了

软件包管理器,在开发者的世界里举足轻重。它们整合了自动安装、配制、卸载、升级等等各种环节的工具,对开源软件的环境也功勋卓著。

比如,在开发应用的过程中,可能用到许多别人写的软件包。有了包管理器,就可以直接安装软件包,省去繁复的搜索、下载代码、解压……这一系列步骤。

如今,软件包管理系统百花齐放。不同的开发环境,都有自己的包管理器。

每个管理器,有各自忠实的用户。在 GitHub 发布了“大一统”的服务之后,他们都十分关心这些管理器的将来。

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

比如,Maven Central就是一个重量级仓库。

Hacker News 评论区的顶楼说,Package Registry 出现了,表示 Maven 就要死了。

完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖

他还说,自己内心百感交集:

一方面,这个库已经免费存在了很长时间,心生感激。

但另一方面,Key Registries 非常缓慢,几个小时才能拿到自己的 Private Key。除此之外,开发用服务器 (Staging Server) 也很缓慢,总是超时。

而 GitHub 的新服务,是把 Registry 和存储 (Artifact Storage) 分开的。

这样是对的,因为Registry需要快速更新。而存储就在我自己的控制范围了。

另外,NPM 的用户也在担心它的命运:

这个服务,可以解决 NPM 的信任问题:你永远不会知道,自己下载的这个包,来源是不是真像页面上写的那样。

毕竟,NPM 现在内外交困:

NPM 这巨大的 Registry 人见人爱,可是已经快花光投资人的钱了,靠着私有 Registry 产品支撑。现在,又换了个奇怪的 CEO,投资人的耐心可能要消磨殆尽了。

不过,即便 GitHub 服务强势来袭,依然有许多人保持怀疑的态度。比如:

兼容的意思是,两边的 Registry 可以一起用么?那如果名称冲突了怎么办呢?

有人回复了这条评论:

这才是真正的问题所在,可能对 JS 的生态系造成严重的破坏。要看 GitHub 怎么处理了。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!