如果您已经熟悉什么是包管理器,可以跳过这一段。如果你还在读,你会喜欢这本书的!包管理器旨在帮助您节省时间和减少挫折感。从本质上讲,它是一组软件工具,可以帮助您自动将软件安装到您的计算机上。您指定要安装的应用程序,它会查找最新版本(或您指定的确切版本)并将其安装到您的计算机上。
几乎每个开发人员都想要Windows中的本机包管理器。那一天终于到了。您将能够翼装您的方式到极乐。最好的部分之一是它是开源的。当我能够安装Winget终端时,我不得不掐自己,然后Winget安装Powershell,然后Winget安装PowerToys。您明白了,如果您没有看到您正在使用的应用程序,只需创建一个新的清单,然后提交一个拉取请求。
从今天起,Windows软件包管理器预览版已经开源。您可以从giHub存储库(https://github.com/microsoft/winget-cli).)克隆、构建、运行和测试代码。如果这听起来不吸引人,还有其他可能更容易的方法来拿到它。请继续阅读。
您可以安装任何具有有效清单的应用程序(即使是本地应用程序-清单)。命令行客户端“winget.exe”已预先配置为指向Microsoft社区存储库。这意味着您可以使用已发布的清单安装任何包。
您是否曾经不得不在PC上完全重新安装所有应用程序和工具?花了多长时间?您是如何记住在哪里查找、下载和安装所有编辑器&IDE、语言和运行时、源代码控制工具等的?
你喜欢吗?是啊,我们也没有…。这就是我们创建Windows软件包管理器的原因。
现在,您只需在命令行中键入Winget install<;foo>;即可安装您喜欢的所有应用程序和工具。或者更好的是,您可以创建一个脚本文件,在您坐下来享受应得的咖啡休息时间时安装所有工具!“。
您可以使用show命令搜索可用的软件包并显示信息。还有一些命令可以帮助创建和验证清单(散列和验证)。一旦发布了第一个第三方存储库,您也可以将该存储库添加为源。我们在https://docs.microsoft.com/windows/package-manager和这两个gihub存储库上提供文档。
我们为您提供了三种不同的方式来获得Windows软件包管理器。如果您是Windows Insider,您可能已经拥有它。首先,您可以前往客户端的开源GitHub存储库。其次,您可以加入任何Windows Insider环。第三,您可以通过将您的Microsoft帐户(MSA)发送到[email protected]并请求包含在预览中来加入Windows Package Manager Insider计划。这两个Insider计划中的任何一个都将确保您在从预览版到正式发布的过程中自动收到更新。加入任一Insider计划后,请前往Microsoft应用商店并获取应用程序安装程序。Windows包管理器将在您获得更新后可用。
我们查看了其他几个包管理器。有几个原因导致我们创建一个新的解决方案。我们关心的一个关键问题是如何构建可信应用程序的存储库。我们会自动检查每一份舱单。我们利用SmartScreen、静态分析、SHA256散列验证和一些其他过程来降低恶意软件进入存储库和进入您的计算机的可能性。另一个关键挑战是能够将客户端程序作为本机Windows应用程序交付所需的所有更改。
Windows软件包管理器将支持自秋季创建者更新(1709)以来的所有Windows 10版本!当我们发布1.0版时,Windows软件包管理器将随桌面应用安装程序一起提供。如果您正在构建在Windows10上运行的软件,您的客户将有一种简单的方式在数十亿台计算机上安装您的软件。
我们期待您有很多问题。这对Windows应用商店意味着什么?这对Windows商店没有任何意义。Windows软件包管理器是一个命令行界面,没有营销、没有图像、没有商业。尽管我们确实计划让这些应用程序也可以安装。
在这里插入任何其他包管理器怎么样?我们认为他们很棒。如果他们想要利用我们的经验证的软件包存储库,他们可以。如果他们想看看我们是怎么做的,那就是开源的。我们对反馈和建议持开放态度。
我们已经和一些知名的套餐经理团队谈过了。Chocolatey有一个充满活力的社区,拥有大量的应用程序集合,以及支持开源和企业客户的丰富历史。《独家新闻》提供了一种方便的方式,可以在没有UAC弹出窗口的情况下安装软件。尼尼特一直在关注其安装的所有应用程序的更新。还有许多其他的类似AppGet、NPackd和基于PowerShell的OneGet包管理器。
如果您对当前的包管理器感到满意,请继续使用它。我们的目标是让在Windows上安装软件对每个人都更好。
我们有一个很长的功能列表,我们认为您会喜欢的。看看我们已经在GitHub上创建的问题列表。一定要对任何你感觉强烈的问题加1。如果您没有看到什么,而您希望我们考虑它,那就创建一个新的问题。