2017-07-08 43 views
6

Aktualizacja. Z pomocą Matta Warda prześledziłem to do złego pliku konfiguracyjnego. Poniższy ~/.config/Nuget/NuGet.Config pracuje dla mnieKompilacja fsharp kończy się niepowodzeniem w przypadku Mono z błędem NuGet

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<packageSources> 
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" protocolVersion="2" /> 
</packageSources> 
    <packageSources> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 
</packageSources> 
</configuration> 

mogę wykonać następujące czynności bez żadnych problemów:

/opt/mono/mono-5.2.0.196-tarball/bin/mono ~/nuget.exe install -version 2.6.4 nunit 

Jednak gdy próbuję skompilować fsharp ramach tej samej instalacji z Mono, pojawia się następujący błąd. To jest w gałęzi fsharp4. Co mogę zrobić źle, proszę? Wielkie dzięki.

Project "/dir/src/fsharp/FSharp.Build-proto/FSharp.Build-proto.fsproj" (domyślnie target (s)): docelowa CallFsSrGen: utworzonego katalogu „obj/proto /./"Narzędzie /dir/src/fsharp/FSharp.Build-proto/../../lib/bootstrap/4.0/fssrgen.exe wykonanie rozpoczęte z argumentami: /dir/src/fsharp/FSharp .Build/FSBuild.txt obj/proto /./ FSBuild.fs FSBuild.resx Target BeforeBuild: Executing: mono --runtime = v4.0.30319 /dir/src/fsharp/FSharp.Build-proto/../. ./../.nuget/NuGet.exe restore packages.config -PackagesDirectory packages Nie można znaleźć versi na "2.6.4" pakietu "NUnit". Nie można znaleźć wersji "2.6.4" pakietu "NUnit.Runners". /dir/src/FSharpSource.targets: error: Polecenie 'mono --runtime = v4.0.30319 /dir/src/fsharp/FSharp.Build-proto/../../../.nuget/NuGet .exe przywrócić packages.config -PackagesDirectory pakiety wyszedł z kodem: 1. Zadanie «Exec» wykonanie - FAILED Sporządzono budowanie docelowej «BeforeBuild» w projekcie

+1

Próbujesz skompilować z wiersza poleceń? – mydogisbox

+1

Prawidłowo. Używam zwykłej kompilacji opartej na plikach Makefile. W przeszłości działało na tym samym komputerze (pod starszym Mono iz prawdopodobnie inną wersją drzewa f # git). – John

+0

Sprawdź, z której wersji NuGet korzystasz i jakie są źródła pakietów NuGet. Zgaduję, że albo nie masz włączonych źródeł pakietów NuGet, albo używasz NuGet v2 .exe ze źródłem pakietu NuGet v3. –

Odpowiedz

2

Sprawdź, jaka wersja Nuget używasz i jakie źródła pakietów NuGet są włączone. Albo nie ma włączonych źródeł pakietów NuGet lub używasz NuGet v2 .exe ze źródłem pakietu NuGet v3.

Jeśli nie ma pliku NuGet.Config, który jest dostarczany z kodem źródłowym kompilacji FSharp, którego używasz, sprawdź źródła pakietów wymienione w pliku ~/.config/NuGet/NuGet.config. Podejrzewam, że ma tylko źródło pakietu v3 https://api.nuget.org/v3/index.json, którego nie można używać z NuGet.exe (v2). Musisz zaktualizować plik nuget.exe do nowszej wersji lub dodać źródło pakietu NuGet v2 do pliku NuGet.Config: https://www.nuget.org/api/v2/

+0

Jeszcze raz dziękuję za pomoc. – John