轻量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。

  查看服务端,对应已经没有该版本包显示

 

 

posted @   BK小鬼  阅读(1073)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示