如何在Premake5脚本中配置搜索本地NuGet包或覆盖远程仓库?
解决Premake5搜索本地自定义NuGet包的配置方案
针对你遇到的Premake5仅搜索远程NuGet仓库导致本地自定义包找不到的问题,可通过以下两种方式在premake5.lua中配置源:
方式一:同时搜索本地目录与远程仓库
在脚本中添加本地NuGet源,保留默认远程源(需确保本地包目录结构符合NuGet规范):
-- 添加本地NuGet包目录作为搜索源 nuget.addSource("LocalPackages", "C:/NuGetPackages") -- 若需保留官方远程源,可显式添加(默认已存在,可省略) -- nuget.addSource("NuGetOrg", "https://api.nuget.org/v3/index.json")
方式二:仅使用本地NuGet目录(覆盖远程源)
如果不需要搜索远程仓库,先清除所有现有源,再添加本地目录:
-- 清除所有已配置的NuGet源 nuget.clearSources() -- 添加本地NuGet包目录作为唯一搜索源 nuget.addSource("LocalPackages", "C:/NuGetPackages")
注意事项
- Windows路径可使用正斜杠
/或转义反斜杠\\,确保路径正确指向本地包存储目录 - 本地目录需包含完整的NuGet包文件(如
Project.Custom.1.0.0.nupkg)或对应解压后的包结构 - 执行命令前建议清理之前生成的项目文件,避免缓存干扰
报错信息参考:
C:\Users>./premake5.exe vs2022 Found Sysroot of / Building configurations... Running action 'vs2022'... Examining NuGet package source 'https://api.nuget.org/v3/index.json'... Examining NuGet package 'Project.Custom'... Error: ** Error: NuGet package 'Project.Custom' for project 'Project' couldn't be found in the repository
内容的提问来源于stack exchange,提问作者RBis
相关产品推荐
相关产品推荐

