【问题标题】:Download all packages from private nuget feed从私有 nuget 源下载所有包
【发布时间】:2021-03-31 13:02:28
【问题描述】:

我想从我的私人 nuget 提要中下载所有版本的所有包。 而已。我在使用 powershell、bash、包管理器方面没有任何问题。

我不能使用占位符项目 - 引用所有包并复制我的缓存,因为我需要所有版本。

有什么想法吗?

我正在使用私人 nuget-feed。饲料有点坏了,但我无法修复它。所以我必须走这条路……

【问题讨论】:

  • 这个私人提要是如何实施的?如果是文件共享,您可以简单地复制文件夹内容。即使是作为服务实现的 NuGet 提要,通常也将包存储在一个文件夹中。
  • 我只有一个 IP 和凭据。如何访问该文件夹?实际上不知道背后是什么 - 这就是问题所在。我认为可能会有一个很酷的命令或 powershell 脚本的一些可能性。
  • 有一些链接/工具,但其中一些看起来很旧。 nuget.org/packages/Nuget.Downloadergist.github.com/bevand/…
  • 谢谢会检查一下

标签: c# nuget nuget-package


【解决方案1】:

我在这里创建了一个更好的 PowerShell 来下载所有版本的所有包

Find-Package -AllVersions -Source NuGet-Source | ForEach-Object {
   Install-Package -Name $_.Name -MaximumVersion $_.Version -Destination 'C:\Temp\Nuget\' -Source NuGet-Source -SkipDependencies
}

【讨论】:

  • 如何安装所有版本? " 无法安装,多个包匹配。请指定准确的 -Name 和 -RequiredVersion。"
【解决方案2】:

使用 PowerShell,您可以这样做:

>Find-Package -Name='Package_Name'  -AllVersions -Source Local | Install-Package -Destination 'C:\SOME_PATH'

该命令将在源本地(必须在 NuGet.config 中指定)中查找名称为“Package_Name”的所有包版本,并将它们安装到“C:\SOME_PATH”文件夹。要从源中获取所有包,请删除 -Name 参数。

然后你可以从自己的文件夹中获取每个 .nupkg 文件。

【讨论】:

  • "为以下参数提供值:名称[0]:"
【解决方案3】:

如果你只是想下载,那么 save-package 比 install-package 更合适

此脚本将所有 nuget 包从 nuget 服务器(NuGet-Source)保存到当前目录中

Find-Package -AllVersions -Source NuGet-Source | ForEach-Object {
  Save-Package -Name $_.Name -RequiredVersion $_.Version -Source NuGet-Source -Path '.'
}

【讨论】:

  • 你是如何让它工作的?我不断收到“查询 url .index.json 无效”
  • 很久没看这个了,从那以后就再也没碰过。检查管道的第一个位是否工作。 'Find-Package -AllVersions -Source NuGet-Source` 我怀疑你的 'NugGet-Source' 不正确
  • 由于某种原因我不得不使用 v2 api。
猜你喜欢
  • 2022-07-21
  • 2015-09-29
  • 2019-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-28
  • 1970-01-01
  • 2020-01-11
相关资源
最近更新 更多