【问题标题】:install-package : Dependency loop detected for package 'Microsoft.Data.Sqlite'install-package:检测到包“Microsoft.Data.Sqlite”的依赖循环
【发布时间】:2019-11-27 03:21:25
【问题描述】:

我正在尝试使用 PowerShell 的 cmdLet install-package 安装 Microsoft.Data.Sqlite

$pkg = find-package -name Microsoft.Data.Sqlite
install-package -force -scope currentUser -verbose $pkg

第二个命令需要很长时间,然后响应

install-package : Dependency loop detected for package 'Microsoft.Data.Sqlite'.
At line:1 char:1
+ install-package -force -scope currentUser -verbose $pkg
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : Deadlock detected: (Microsoft.Data.Sqlite:String) [Install-Package], Exception
+ FullyQualifiedErrorId : DependencyLoopDetected,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

为什么会这样?为了安装这个软件包,我必须做什么?

【问题讨论】:

标签: powershell nuget-package packaging


【解决方案1】:

首先我安装最新的 Nuget 提供程序,在提升的 PowerShell 提示符下运行以下命令:

Install-PackageProvider Nuget –force –verbose

我用另一个包解决了这个问题,我使用-SkipDependencies附加参数遇到了同样的问题:

Install-Package libphonenumber-csharp -Destination ".\NugetPackages" -Force -Source 'https://www.nuget.org/api/v2' -ProviderName NuGet -RequiredVersion '8.10.23' -SkipDependencies -ErrorAction SilentlyContinue

然后 install-package 再次为这个包工作,我显然不明白为什么它突然停止工作,但 -SkipDependencies 对我来说是依赖循环的答案。

【讨论】:

  • 我不确定这是否能解决问题。这只会使错误静音。此外,用户可能会因跳过依赖项而失去一些功能
  • @AymenDaoudi 对于许多包它解决了我的错误。对于复杂的依赖关系,您必须加载每个包。但是,如果您更喜欢停滞不前。
猜你喜欢
  • 2013-08-19
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多