本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 GitHub发布了一个名为GitHubPackageRegistry的新包管理服务,它是完全免费的。 有了它,用户可以将自己的软件包上传到GitHub,就像发布源代码一样。 官方说这个服务兼容很多现有的包管理器,比如NPM和Maven。并且,将来会支持更多。 消息一出,网友们感受到了称霸天下的趋势。 有人表示高兴: “好东西,我同时用了好几个包管理器,把它们放在一起会很诱人。” 很多人也担心: “我的NPM是药丸吗?”“不高兴看到GitHub垄断。” 那么,这究竟是一种什么样的服务呢?它会给包管理工具的世界带来怎样的震撼? 统一的包管理服务 首先,PackageRegistry与GitHub完全集成。因此,搜索、浏览和管理工具都和以前一样。 包可以与源代码一起发布,或者与源代码具有相同的权限。 团队表示下载速度快,稳定,有GitHub全球CDN支持。 下面就来详细介绍一下吧。 有什么功能 在PackageRegistry,您可以快速找到您团队内的公共包或私人包。 兼容很多包管理应用,可以自由选择工具发布自己的包: JavaScript(npm)、Java(Maven)、Ruby(RubyGems)、.Net(NuGet)和Docker镜像得到支持。以后会支持更多,比如Python已经在路上了。 △网友急了:Go下次会支持 GitHub说如果你的repo很复杂,你可以发布几个不同类型的软件包。 并且,通过webhooks或GitHubActions,在发布期间和之后完全可定制的工作流。 软件可以私下或公开发布: 对于大多数开源项目,源代码都在GitHub上。你可以将预发布版本(PrereleaseVersions)的包发布到社区进行测试,也可以将某个版本放到公共Registry中。 统一身份和权限 如果您使用许多不同的系统来分发代码和包,您需要许多不同的(身份验证)用户凭据和权限集。 但现在在GitHub上,代码和包可以使用一组用户凭证,并且可以使用相同的工具来管理访问。 GitHub上的软件包扩展了Repo的可见性和权限,让团队不再需要维护一个单独的Registry和跨系统的镜像权限。 详细信息,了解你自己 GitHub上托管的包具有详细信息、下载统计信息和完整的历史记录供您查看。 用户可以清楚地了解包里装的是什么。这样,可以更轻松地找到适合您的依赖项。 包的所有者可以查看统计信息以了解其他人/其他项目如何使用他们的包。 你想试试吗? 现在,测试版上线了。 只需注册并使用:https://github.com/features/package-registry/signup GitHubPackageResgistry是免费的。然而,该团队也在围绕它开发一些额外的功能,例如安全性和合规性,它打算在未来提供给商业用户。 将要改变 包管理器,它在开发者的世界中扮演着非常重要的角色。它们集成了自动安装、配置、卸载、升级等工具。 比如在开发应用程序的过程中,可能会用到很多别人写的软件包。使用包管理器,您可以直接安装软件包,省去了搜索、下载代码、解压等繁琐的步骤。 如今,包管理系统正在蓬勃发展。不同的开发环境有自己的包管理器。 每个经理都有自己的忠实用户。GitHub发布“统一”服务后,他们非常关心这些管理者的未来。 比如MavenCentral就是重量级仓库。 顶楼HackerNews评论区说出现了PackageRegistry,预示着Maven要死了。 他还说自己心里百感交集:一方面,这个图书馆免费存在了这么久,他心存感激。但另一方面,KeyRegistries非常慢,需要几个小时才能获得自己的PrivateKey。另外,开发服务器(StagingServer)也很慢,总是超时。GitHub的新服务将Registry与ArtifactStorage分开。没错,因为注册表需要快速更新。存储在我自己的控制范围内。 另外,NPM用户也担心它的下场:这个服务可以解决NPM的信任问题:你永远不知道你下载的包源是否真的如页面上写的那样。 毕竟NPM目前内忧外患:NPM是一个人见人爱的庞大Registry,却几乎花光了所有投资人的钱,全靠私有Registry产品支撑。现在,随着另一位奇怪的首席执行官出现,投资者的耐心可能会耗尽。 不过,即使GitHub服务遭受重创,仍有不少人持怀疑态度。比如:兼容的意思,两边的Registries可以一起用吗?那么,如果名称冲突怎么办? 有人回复此评论:这是真正的问题,可能会对JS生态系统造成严重破坏。取决于GitHub如何处理它。
