EPPlus 依赖循环

2024-01-03

从 PowerShell 安装 EPPlus 时,我得到以下信息(所有命令都是第一次运行):

$PackageSource=Get-PackageSource -Name "PSGallery"
if (!$PackageSource.IsTrusted) { Set-PackageSource -Trusted -Name "PSGallery" > $null }

# NuGet PackageProvider
$PackageProvider=Get-PackageProvider -ListAvailable | Where-Object { $_.Name -eq "NuGet" }
$InstallPackageProvider=$false
if ($PackageProvider -eq $null) { $InstallPackageProvider=$true }
else {
  $TargetVersion=[Microsoft.PackageManagement.Internal.Utility.Versions.FourPartVersion]::Parse("2.8.5.208")
  if ($PackageProvider.Version -lt $TargetVersion) { $InstallPackageProvider=$true }
}
if ($InstallPackageProvider) { Get-PackageProvider -Name "NuGet" -ForceBootStrap > $null }

# Package Management
$PackageProvider=Get-Module -ListAvailable | Where-Object { $_.Name -eq "PackageManagement" }
$InstallPackageProvider=$false
if ($PackageProvider -eq $null) { $InstallPackageProvider=$true }
else {
  $TargetVersion=[System.Version]::new(1,4,5)
  if ($PackageProvider.Version -lt $TargetVersion) { $InstallPackageProvider=$true }
}
if ($InstallPackageProvider) { Install-Module -Name "PackageManagement" -MinimumVersion $TargetVersion -Force > $null }

# PowerShellGet
$PackageProvider=Get-PackageProvider -ListAvailable | Where-Object { $_.Name -eq "PowerShellGet" }
$InstallPackageProvider=$false
if ($PackageProvider -eq $null) { $InstallPackageProvider=$true }
else {
  $TargetVersion=[Microsoft.PackageManagement.Internal.Utility.Versions.FourPartVersion]::Parse("2.2.1.0")
  if ($PackageProvider.Version -lt $TargetVersion) { $InstallPackageProvider=$true }
}
if ($InstallPackageProvider) { Install-Module -Name "PowerShellGet" -MinimumVersion $TargetVersion -Force > $null }

$FilePath="~\Desktop"
$FileName="bat.bat"

New-Item -Path $FilePath -Name $FileName -ItemType File -Force > $null
$PackageProvider=Get-Module -ListAvailable | Where-object { ($_.Name -eq "PackageManagement") -and ($_.Version.ToString() -eq "1.0.0.1") }
if ($PackageProvider -ne $null) { Out-File -FilePath "$FilePath\$FileName" -Encoding ASCII -Append -InputObject ('rd "'+$($PackageProvider.ModuleBase)+'" /s /q') }

$PackageProvider=Get-Module -ListAvailable | Where-object { ($_.Name -eq "PowerShellGet") -and ($_.Version.ToString() -eq "1.0.0.1") }
if ($PackageProvider -ne $null) { Out-File -FilePath "$FilePath\$FileName" -Encoding ASCII -Append -InputObject ('rd "'+$($PackageProvider.ModuleBase)+'" /s /q') }

# Quit all PowerShell instances, open a command prompt as administrator and run the batch file

PS C:\Windows\system32> Get-Module -ListAvailable #(edited for brevity)

    Directory: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.4.5      PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource...}
Script     2.2.1      PowerShellGet                       {Find-Command, Find-DSCResource, Find-Module, Find-RoleCapability...}

PS C:\Windows\system32> Get-PackageProvider #(edited for brevity)

Name                     Version          DynamicOptions
----                     -------          --------------
NuGet                    3.0.0.1          Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains...
PowerShellGet            2.2.1.0          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpd...

$PackageSource=Get-PackageSource -Name "PSGallery"
if (!$PackageSource.IsTrusted) { Set-PackageSource -Trusted -Name "PSGallery" > $null }

$Repository=Get-PSRepository -Name "NuGet"
if ($Repository -eq $null) { Register-PSRepository -Name "NuGet" -SourceLocation "https://www.nuget.org/api/v2" -PackageManagementProvider "NuGet" -InstallationPolicy "Trusted" }

Install-Module -Name "EPPlus" -Repository "NuGet" -MinimumVersion "4.5.3.1"

PackageManagement\Install-Package : Dependency loop detected for package 'EPPlus'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.2.1\PSModule.psm1:9683 char:34
+ ... talledPackages = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Deadlock detected: (EPPlus:String) [Install-Package], Exception
    + FullyQualifiedErrorId : DependencyLoopDetected,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

Windows 2016 标准版,未安装 Office,$Host.Version = 5.1.14393.3053


我遇到了同样的麻烦libphonenumber-csharp包裹。我显然不明白为什么它突然停止工作,但是-SkipDependencies对我来说,这是依赖循环的答案:

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

我不知道它是否有帮助,但我首先安装最新的 Nuget 提供程序,在提升的 PowerShell 提示符中运行以下命令:

Install-PackageProvider Nuget –force –verbose
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EPPlus 依赖循环 的相关文章

随机推荐

  • 将泛型参数转换为整数或从整数转换

    我想编写通用类 旨在与内置类型一起使用 例如byte and ushort 在内部计算中 我需要将泛型类型转换为整数 然后再转换回泛型类型 我找到了编译此类代码的方法 例如 class Test
  • 使用arm-linux-androideabi-4.4.3编译ICU

    我想使用 Cygwin 交叉编译 Android 的 ICU 静态库 到目前为止 我已经能够配置和制作 Cygwin MSVC 和 Cygwin 版本 我已经安装了android ndk r7 并且可以在toolchains目录中看到gcc
  • 为什么应该使用条件样式表?

    这个问题涵盖了大部分内容 但我试图向想要完全放弃条件样式表 IE6 移动设备等 的高级开发人员提出一个清晰的论点 请记住 我们实际上并没有消除 IE6 只是消除了样式表 还是我疯了 应该接受这个 还有什么选择呢 CSS 黑客 我有 IE7
  • 当用户点击下拉列表 HTML 选择标签时,ios8 iPad uiwebview 在显示弹出窗口时崩溃

    在 ios8 和 iPad 上 如果uiwebview正在显示一个包含下拉列表的 HTML 页面 例如这个页面http www w3schools com tags tryit asp filename tryhtml select htt
  • Maven War 插件中的过滤

    我不明白 Maven War 插件的以下过滤器配置 有人可以向我解释一下他们在做什么吗 我已经用第一个示例和第二个示例标记了代码
  • 如何对 ExecutorService 为任务生成新线程进行单元测试?

    使用 ExecutorService 时 一个单元如何测试是否为可运行任务生成了新线程 基本上 我的应用程序有一个静态线程池 public static final ExecutorService executorService Execu
  • 如何通过管道传输或重定向curl -v 的输出?

    由于某种原因 输出总是被打印到终端 无论我是否通过 2 gt 或 gt 或 重定向它 有办法解决这个问题吗 为什么会发生这种情况 add the s 静默 选项删除进度表 然后将 stderr 重定向到 stdout 以在与响应正文相同的
  • 始终并行运行恒定数量的子进程

    我想使用子进程让编写的脚本的 20 个实例并行运行 假设我有一个包含大约 100 000 个条目的大 URL 列表 并且我的程序应该控制我的脚本的 20 个实例始终在该列表上工作 我想将其编码如下 urllist url1 url2 url
  • C++11 中的 C 风格回调

    在 C 11 项目中 我使用需要 C 风格回调的 C 风格第三方库 在我的例子中为curl 为了实现这一点 我使用了 指向成员的指针 运算符 size t c callback wrapper char ptr size t size si
  • onClick 不起作用

    我想使用 JS 将表格行转换为链接 我的它看起来像这样 tr 但是 当我尝试单击时 它并没有按照我想要的方式进入页面 事实上 点击似乎没有任何动作 有什么帮助吗 Edit 至于引用 我忘了提及我是用 PHP 来回应这一点的 这是我更新的代码
  • 外键引用同一个表

    有一次面试测试 下面是表格和结构 Table Person id name dob dod mother id father id Primary Key id Foreign Key mother id references Person
  • 在 Electron 应用程序中导航 Angular 路线时出现空白屏幕

    我目前正在使用 Electron 编写一个桌面混合应用程序 并与 AngularJS 集成进行路由等 请参阅以下角度配置 app config function routeProvider locationProvider routePro
  • 在 C# 中解析 SQL 字符串

    我需要解析一个Command CommandText 我不想运行查询 我只想看看如果执行命令 查询是否会成功 说我有 SELECT FROM SomeTable WHERE 1 1 该字符串将会成功 but SELECT FROM Some
  • 如何知道用户何时离开页面并刷新页面

    我想在用户离开页面之前进行 AJAX 调用 基本上是在离开页面之前和刷新页面之前 如何才能做到这一点 我试图用 jQuery 搜索一些东西 但没有得到任何结果 我尝试使用以下代码 window onbeforeunload function
  • mysql 查询是否可以返回 true/false 而不是值?

    我有一张桌子 custID orderID orderComponent 1 123 pizza 1 123 wings 1 234 breadsticks 1 239 salad 2 456 pizza 2 890 salad 我有一个值
  • 在构建情况下验证所属关联

    我有一个任务模型 它有很多任务 并且任务属于任务 为了安全起见 我对任务模型进行了验证 validates presence of mission id validates numericality of mission id 但问题是 当
  • IPFS:如何将文件添加到现有文件夹?

    给定一个相当大的文件夹 它已经被推送到网络 并在本地删除 如何将文件添加到该文件夹 而不重新下载整个文件夹 你只能通过使用来做到这一点ipns再次下载后ipfs get 如果它仍然固定到本地存储 那么应该会很快 1 首先将您的文件夹递归添加
  • 为什么 `vector v{{5,6}};` 有效?我以为只允许使用一对 {}?

    给定一个类A有两个构造函数 取initializer list
  • 在 C++ 中使用 SSE 将两个 32 位整数向量相乘的最快方法

    我有两个无符号向量 大小均为 4 vector
  • EPPlus 依赖循环

    从 PowerShell 安装 EPPlus 时 我得到以下信息 所有命令都是第一次运行 PackageSource Get PackageSource Name PSGallery if PackageSource IsTrusted S