在Mono下开发的项目依赖于一些nuget包。我使用Gitlab CI来运行构建。构建环境是docker ubuntu。所有其他apt-get
安装都可以正常工作,但无论我如何修改参数NuGet.config
,nuget都不会恢复包。我在v2和v3之间切换,并尝试了我在互联网上找到的所有内容:
http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html
http://docs.myget.org/docs/how-to/package-not-found-during-package-restore
但仍会出现以下错误:
gitlab-ci-multi-runner 1.1.4 (9e2fd1a)
Using Docker executor with image ruby:2.1 ...
Pulling docker image ruby:2.1 ...
...
$ apt-get update -qq && apt-get install -y -qq
$ apt-get install -y -qq mono-complete
...
$ wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
...
$ mono nuget.exe restore monotest.sln -Source http://nuget.org/api/v2
MSBuild auto-detection: using msbuild version '4.0' from '/usr/lib/mono/4.5'.
Restoring NuGet package MongoDB.Bson.2.2.3.
Restoring NuGet package MongoDB.Driver.2.2.3.
Restoring NuGet package MongoDB.Driver.Core.2.2.3.
Restoring NuGet package Newtonsoft.Json.8.0.3.
WARNING: Unable to find version '2.2.3' of package 'MongoDB.Bson'.
/root/.local/share/NuGet/Cache: Package 'MongoDB.Bson.2.2.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
WARNING: Unable to find version '8.0.3' of package 'Newtonsoft.Json'.
/root/.local/share/NuGet/Cache: Package 'Newtonsoft.Json.8.0.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
WARNING: Unable to find version '2.2.3' of package 'MongoDB.Driver'.
/root/.local/share/NuGet/Cache: Package 'MongoDB.Driver.2.2.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
WARNING: Unable to find version '2.2.3' of package 'MongoDB.Driver.Core'.
/root/.local/share/NuGet/Cache: Package 'MongoDB.Driver.Core.2.2.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
Errors in packages.config projects
Unable to find version '2.2.3' of package 'MongoDB.Bson'.
/root/.local/share/NuGet/Cache: Package 'MongoDB.Bson.2.2.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
Unable to find version '8.0.3' of package 'Newtonsoft.Json'.
/root/.local/share/NuGet/Cache: Package 'Newtonsoft.Json.8.0.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
Unable to find version '2.2.3' of package 'MongoDB.Driver'.
/root/.local/share/NuGet/Cache: Package 'MongoDB.Driver.2.2.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
Unable to find version '2.2.3' of package 'MongoDB.Driver.Core'.
/root/.local/share/NuGet/Cache: Package 'MongoDB.Driver.Core.2.2.3' is not found on source '/root/.local/share/NuGet/Cache'.
http://nuget.org/api/v2: Unable to load the service index for source http://nuget.org/api/v2.
This method must be implemented in derived classes
NuGet Config files used:
/builds/renkun-ken/monotest/.nuget/NuGet.config
/root/.config/NuGet/NuGet.Config
Feeds used:
/root/.local/share/NuGet/Cache
http://nuget.org/api/v2
ERROR: Build failed: exit code 1
参考文献:
https://docs.nuget.org/consume/package-restore
https://docs.nuget.org/consume/command-line-reference
在我的本地计算机上,我可以使用完全相同的命令从在线源恢复所有包。
答案 0 :(得分:0)
根据您使用的Ubuntu版本,向您的环境添加ca-certificates-mono
可能有所帮助:
apt-get install -y --allow-unauthenticated ca-certificates-mono
我正在使用Docker和Stretch,this thread修复了我的相同问题。