"nuget install"、"Install-Package" 和 "choco install" 之间有什么区别?

What is the difference betwee "nuget install" , "Install-Package" and "choco install"?

以及更具体的问题。我理解的对吗:

  1. "nuget install" 总是安装到您 运行 的目录?
  2. "choco install" 安装到 special choco 的目录,然后 运行s 脚本在系统中传播它?
  3. "nuget install" 只是安装包的包装器?

我相信 Install-package 可以作为 nuget 的包装器(基本上),但可以有其他包提供者(并且有),所以它不仅可以调用 nuget。

C:\> get-packageprovider

Name                     Version
----                     -------
msi                      3.0.0.0
msu                      3.0.0.0
NuGet                    2.8.5.207
PowerShellGet            1.0.0.1
Programs                 3.0.0.0

Choco 只是另一个包裹供应商。您可以单独使用它或使用安装包。你可以用 install-packageprovider chocolatey

这样的东西安装 choco

NuGet 是一个打包框架,为 NuGet、PowerShell 模块(PowerShell Gallery)和 Chocolatey 提供打包。

PackageManagement(又名 OneGet)是一个包管理器 Manager(是的,真的)实现了 Install-Package包管理器(称为提供程序),如 NuGet、PowerShell Get 和 Chocolatey。

  • NuGet(工具,而非框架)用于开发目的,通常打包软件库 (dll)。
  • Chocolatey 用于软件部署和管理,通常打包软件、工具和应用程序。
  • Install-Package 是通过提供商与其中任何一个(以及更多)的接口。

注意:如果您想在 PackageManagement 中与 Chocolatey 交互(通过 Install-Package),请暂时使用 ChocolateyGet 并等待官方提供程序 Chocolatey可用。当前是一个原型。如果您想了解更多详情,请参阅https://github.com/chocolatey/chocolatey-oneget/issues/5#issuecomment-275404099