Moo*_*ose 4 powershell package-managers package chocolatey
PowerShell 5 和 7 在 PackageManager 方面仍然不同。
Chocolatey 似乎尚未“集成”,我无法像在 PowerShell 5 中那样在 PowerShell 7 中使用 Chocolatey。
我已经按照他们网站所说的方式安装了 Chocolatey,但这让我可以使用 Chocolatey 来启动我的 choco 命令。
如何在 PowerShell 7 中配置 Chocolatey,以便可以像在 PowerShell 5 中一样使用它。
Find-Package -ProviderName Chocolatey -Name <packagename>
从 PowerShell [Core] 7 开始,您似乎无法使用Chocolatey作为 PowerShellPackageManagement模块的提供程序,这意味着您无法使用 和 发现或安装 ChocolateyFind-Package软件包Install-Package。
然而,通过CLI直接使用 Chocolatey在 PowerShell [Core] 中工作得很好choco.exe(*.exe只要系统上存在其运行时,文件就会运行,无需与 PowerShell 的运行时相同)。
继续阅读背景信息:
看起来实现 PackageManagement 提供程序需要以仅支持 .NET Framework (FullCLR) 的方式访问 Chocolatey API,而不支持 .NET Core(PowerShell [Core] 构建于其上)[1];引用Chocolatier的自述文件,这是社区提供的官方提供商从未发布的原型的替代方案:
目前,Chocolatier 适用于 Full CLR。CoreClr (...) 不支持它。主要原因是当前版本的choco.exe似乎还不支持CoreClr。
至于在Windows PowerShell上的使用:
许多年后,Chocolatey PackageManagement 提供程序的官方原型(仅限 Windows PowerShell)尚未实现;以下是文档内容,检索于 2020 年 4 月 13 日(已添加重点):
Chocolatey为 Windows 10/Windows Server 2016 上的内置包管理器提供了一个原型提供程序,该提供程序是 Microsoft 不久前创建的。它的功能并不完整,并且可能存在安全问题。如果您想将 Chocolatey 与 PackageManagement 一起使用,我们建议使用 ChocolateyGet,在正式实现之前,这是一个很好的桥梁。尚未定义预计到达时间。
笔记:
前面提到的Chocolatier是基于ChocolateyGet构建的,在撰写本文时似乎是维护更积极的项目。
最近有一位社区成员为官方原型提交了一个待定的PR,但尚未受到任何关注;而且,它还没有完成;有关完整的背景故事,请参阅此 GitHub 问题。
[1] 如果您知道详细信息,请告诉我们。
| 归档时间: |
|
| 查看次数: |
3285 次 |
| 最近记录: |