3

是否可以将 Github 存储库用作带有 Paket 的 Nuget 源?

查看文档https://fsprojects.github.io/Paket/github-dependencies.html似乎并非如此,我尝试将 Github Repository 和 Git Repository 配置结合使用,但没有真正的成功。

我一直在兜圈子,试图让 SSH 代理与我们的 TeamCity 配置一起工作,运气为零,以便只使用普通的 git 依赖项。

鉴于这被证明是徒劳的,我想切换到在 github 上使用 auth 令牌,但也看不到任何将其与指定 Package 源相结合的选项。

理想情况下,我追求的是:

github myorganisation/myrepo githubAuthKey Packages: /nuget/
4

1 回答 1

1

将 GitHub 用作 NuGet 存储库有两个步骤,您已经完成了其中之一。您需要在 中使用 Paket从所需的存储库/路径nugetpaket.dependencies实际提取所需的 NuGet 包。您发出的第一个命令只完成了一半的工作。它本质上是设置你的 NuGet 源。我更喜欢使用本地安装的 git,所以github我使用的是 Paket 而不是 Paket git,但它本质上是一样的......

git https://github.com/<User>/<Priv NuGet repo> [branch|label] Packages: <path to .nupkg files>

nuget <NuGet package ID> <semantic version>

所以,如果我的 GitHub 存储库看起来像这样......

/.
 -> A.1.0.0.0.nupkg
 -> A.2.0.0.0.nupkg
 -> B.1.0.0.0.nupkg
 -> C.1.0.0.0.nupkg

我需要 A、B 和 C,都在 v1.0.0.0,我会paket.dependencies像这样设置...

git https://github.com/EricLease/MyNuGetRepo master Packages: /
nuget A 1.0.0.0
nuget B 1.0.0.0
nuget C 1.0.0.0

注意:如果您的包位于 repo 中的某个子文件夹下,例如/nuget/,那么您将更Packages: /改为 match ( Packages: /nuget/)

paket.references下面的文件中,我可以将所需的包引用为ABC.

这将导致一个paket.lock看起来像这样的文件......

NUGET
  remote: paket-files/github.com/EricLease/MyNuGetRepo
    A (1.0.0.0)
    B (1.0.0.0)
    C (1.0.0.0)
GIT
  remote: https://github.com/EricLease/MyNuGetRepo
     (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
      path: /

请注意,NUGET remote这些包的 实际设置为您的本地文件夹,该文件夹由onpaket-files填充。GIT remotepacket install update

于 2018-11-14T05:42:09.423 回答