轻量NuGet服务—BaGet
在企业内部,有些库是私有的,专项的,要求非公开,另一方面需要公司内部开发人员共享这些库,这时就要搭建一个私用的NuGet仓库了。
BaGet就是一个优秀的,轻量级的包管理服务。它的github地址是https://github.com/loic-sharma/BaGet,当然也可以不用源码,直接在https://github.com/loic-sharma/BaGet/releases,下载它的zip。
BaGet是.net core写的,所以可以在多平台下部署。
下载后解压运行
dotnet BaGet.dll
访问http://localhost:5000
是不是很眼熟,与NuGet还很像
,下面是NuGet页面。
怎么上传一个nupkg包呢?BaGet提供了四种方法,在upload菜单下可以查看
做个nupkg包,来一把,结果如下:
在上传过程中,会有这样一个提示:
warn : 未提供 API 密钥,找不到 'http://localhost:5000/api/v2/package' 的 API 密钥。要保存源的 API 密钥,请使用 "setApiKey" 密钥。
这里是为了上传时加一层保护,不是谁都可以随便上传,可以在appsetting.json中增加一个密钥 "ApiKey": "NUGET-SERVER-API-KEY",只有密钥的人才能上传包,那上传时,的命令变成:
1 | dotnet nuget push -s http: //localhost:5000/v3/index.json -k NUGET-SERVER-API-KEY package.1.0.0.nupkg<br>dotnet nuget push -s http://112.126.59.41:10008/v3/index.json -k 13434334# ORM.EntityFrameWork.Extension.1.0.2.nupkg |
删除特定包
卸载默认情况下,不会直接删除对应版本的包,只是在Nuget
列表中不显示,实际的包文件还存在,同样,删除也分为未配置apikey
和配置apikey
两类,此处仅仅演示配置 apikey
之后的操作。
未携带apikey
1 | dotnet nuget delete -s http: //localhost:5000/v3/index.json NugetTool 1.0.0 |
输出:
1 2 3 4 5 6 7 8 | >dotnet nuget delete -s http: //localhost:5000/v3/index.json NugetTool 1.0.0 warn : 未提供 API 密钥,找不到 'http://localhost:5000/api/v2/package' 的 API 密钥。要保存源的 API 密钥,请使用 "setApiKey" 密钥。 NugetTool 将从 'http://localhost:5000/api/v2/package' 删除 1.0.0。是否继续? (y/N) y warn : 正在从 'http://localhost:5000/api/v2/package' 删除 NugetTool 1.0.0。 DELETE http: //localhost:5000/api/v2/package/NugetTool/1.0.0 Unauthorized http: //localhost:5000/api/v2/package/NugetTool/1.0.0 81 毫秒 error: Response status code does not indicate success: 401 (Unauthorized). |
携带apikey
1 | >dotnet nuget delete -s http: //localhost:5000/v3/index.json NugetTool 1.0.0 -k "mima@@" |
输出:
1 2 3 4 5 6 7 | >dotnet nuget delete -s http: //localhost:5000/v3/index.json NugetTool 1.0.0 -k "ggcyadmin@@" NugetTool 将从 'http://localhost:5000/api/v2/package' 删除 1.0.0。是否继续? (y/N) y warn : 正在从 'http://localhost:5000/api/v2/package' 删除 NugetTool 1.0.0。 DELETE http: //localhost:5000/api/v2/package/NugetTool/1.0.0 NoContent http: //localhost:5000/api/v2/package/NugetTool/1.0.0 101 毫秒 NugetTool 已成功删除 1.0.0。 |
查看服务端,对应已经没有该版本包显示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」