Yor*_*ubs 5 powershell module nuget
我对这里的差异感到很困惑,希望得到一些澄清。
我认为在 PowerShell 1.0 中,有模块(用 PowerShell 编写的命令)和管理单元(实现 cmdlet 和提供程序的动态链接库)。然而,由于模块可以包含模块中的 Cmdlet 和函数可以调用的 DLL,因此界限变得模糊,因此最终管理单元现在实际上是多余的。
然后是 NuGet 包,这似乎是某种包部署系统(由 Microsoft 构建??)。这不像 PowerShell Gallery 那样特定于 PowerShell,并且 NuGet 包可以将任何类型的功能部署到 Windows 系统。将 NuGet 视为 MSI 作为包部署方法的继承者是否正确?
因此,我们有 PowerShell Gallery(仅适用于 PowerShell 模块)和 NuGet(适用于任何内容,但也包含 PowerShell包)。什么是包?它与 PowerShell 上下文中的模块的定义有何不同?
然后,我注意到 PowerShell 有*-Package和*-ModuleCmdlet,因此您可以运行:
find-module *7zip*
find-package *7zip*
Run Code Online (Sandbox Code Playgroud)
此处返回相同的四个项目,但这些 Cmdlet 指向哪里?如果您运行的install-module是从 PowerShell Gallery 安装的模块,并且如果您运行的install-package是从 NuGet 安装的等效包(不是模块,而是一个包,无论是什么!)?
对上述内容的任何澄清将不胜感激,因为我发现很难找到所有这些东西是什么以及它们如何相互作用的明确定义(事实上,对我来说安装它们和安装它们的最佳方法是什么)保养)?