尝试了二种方式:
第一种使用微软自动的Nuget.server库来搭建,非常简单,缺点是只能安装和部署在Windows服务器上,不能安装部署在linux上。安装方式参考链接,非常详细的步骤。
第二种方式是使用Nexus,这个既能支持Nuget,还能支持Maven,还能支持很多其它的格式:
以下重点解释第二种方式。
1. 安装
我使用的是3.x版本,在CentOS7.4下安装,安装更加简单,大概步骤如下:
//下载
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.12.1-01-unix.tar.gz
//解压
tar -xzf nexus-3.12.1-01-unix.tar.gz
//运行
cd nexus/bin
./nexus run
2. 需要简单的配置:
- 缺省端口是8081,外网访问记得放开端口
- 访问http://ip:8081,缺省admin/admin@123登陆,修改一下密码,这里有一个小坑,注意修改密码速度要快,15秒内搞定,否则会报验证失败错误。
-
复制Nuget的APIkey或者重设
-
设置一个提交nuget的role和user
3. 提交nuget
- 准备nuget:
随便创建一个NetCore库项目,随便写个helloworld,然后执行命令:
C:\Users\liuyin\Downloads\nuget.exe spec
注意:nuget.exe 从这里下载
执行命令后会生成一个文件nuspec文件,编辑这个文件:
- 生成nuget:
C:\Users\liuyin\Downloads\nuget.exe pack TestNetCoreDll.csproj -Build -Properties Configuration=Release
如果没有错误的话,会生成do.TestNugetDll.1.0.2.nupkg文件
do.TestNugetDll.1.0.0.nupkg和do.TestNugetDll.1.0.1.nupkg版本在我这个1.0.2执行前已经提交到Nexus上了。
-
提交nuget
C:\Users\xxx\Downloads\nuget.exe push do.TestNugetDll.1.0.2.nupkg 8f9ewe21-0ee2-14d3-88e5-
00ff965dd07 -Source http://code.xxxx.com:8081/repository/nuget-hosted/
其中8f94xxxx是那个APIKey,最后的地址必须是/repository/nuget-hosted/
我们在Nexus网站上看看提交的结果:
4. 最后我们测试一下使用nuget
-
在VSStudio上配置一下这个Nexus地址
-
使用方式就和正常nuget完全一样了
还有说明一下,如果用命令行编译或者发布到服务器上编译,需要修改一下Nuget.Config文件,这个文件在Windows下大概目录是C:\Users\你的登陆名\AppData\Roaming\NuGet\NuGet.Config
,在Linux下大概目录是/root/.nuget/NuGet/NuGet.Config
,把这个文件打开添加上你自己的nuget服务器地址就可以了,截图如下: