对于当前的项目,我们不得不使用c#进行部分编程。在npm中出现左键之后,我想创建一个镜像包存储库来保护构建。
由于手动管理依赖关系是一件麻烦事,是否有一种自动的方法来镜像一个nuget包,包括我的本地/共享驱动器上的所有依赖关系?
您可以设置一个私有的nuget feed并在那里托管包。
例如,在azure devops中,我们有azure工件:
https://learn.microsoft.com/en-us/azure/devops/artifacts/start-using-azure-artifacts?view=azure-devops get-started-with-azure-artifacts
在这种情况下,nuget提要是私有提要,您可以配置它以访问公共nuget提要。然后,任何被消费的包也将保存在私有azure工件提要上,这意味着您始终拥有原始包。
nuget.org上游源允许您将nuget.org的内容合并到提要中,以便NuGet客户端可以从两个位置安装软件包,而无需进行多次搜索查询。启用上游源还可以自动保存你从上游源使用的包。
https://learn.microsoft.com/en-us/azure/devops/artifacts/nuget/upstream-sources?view=azure-devops
也看到:https://learn.microsoft.com/en-us/azure/devops/artifacts/concepts/upstream-sources?view=azure-devops
我也看到有人使用MyGet:https://www.myget.org/
另一个选择是直接使用本地文件夹作为nuget源。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- NuGet packages are now stored globally, see: https://stackoverflow.com/a/35809007/4122889 -->
<!-- see: https://stackoverflow.com/a/53451805/4122889 -->
<config>
<add key="globalPackagesFolder" value=".Packages" />
<add key="repositoryPath" value=".Packages" />
</config>
<!-- Setup for local packages, not in a nuget source -->
<packageSources>
<add key="My_Azure_Feed" value="https://pkgs.dev.azure.com/org/proj/_packaging/My_Azure_Feed/nuget/v3/index.json" />
<!--<add key="LocalPackages" value="./LocalPackages" />-->
</packageSources>
<activePackageSource>
<!-- this tells that all of them are active -->
<!--<add key="All" value="(Aggregate source)" />-->
</activePackageSource>
</configuration>