Не удается заставить работать nuget из командной строки в Travis

Я снова пытаюсь создать какой-нибудь проект F # для сборки с Travis-ci.

yml:

language: objective-c

env:
 global:
  - EnableNuGetPackageRestore=true 
 matrix:
  - MONO_VERSION="3.2.6"

before_install:
 - wget "http://download.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg"
 - sudo installer -pkg "MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg" -target /
 - mozroots --import --sync

script:
 - mono "packages\\NuGet\\NuGet.exe" install Failess -OutputDirectory packages -ExcludeVersion -Prerelease
 - mono "packages\\Failess\\tools\\Failess.exe" "build.fsx"

Но даже nuget здесь не работает:

 ApplicationName='/Users/travis/.local/share/NuGet/NuGet.exe', CommandLine='install Failess -OutputDirectory packages -ExcludeVersion
-Prerelease'
, CurrentDirectory='/Users/travis/build/Heather/Failess'
, Native error= Cannot find the specified file The command "mono "packages\NuGet\NuGet.exe" install Failess -OutputDirectory packages
-ExcludeVersion -Prerelease" exited with 1.

что с этим не так?


person cnd    schedule 25.02.2014    source источник
comment
Я не эксперт по Трэвису, но мне удалось собрать свой проект с помощью модульных тестов на Трэвисе. Я не знаю, имеет ли это значение, но у меня не было кавычек в моем вызове nuget. if [ ! -f packages/FAKE/tools/Fake.exe ]; then mono --runtime=v4.0 .NuGet/NuGet.exe install FAKE -OutputDirectory packages -ExcludeVersion -Prerelease Для справки мой файл .travis.yml находится по адресу: github.com/mndrake /Arcadia/blob/master/.travis.yml   -  person mndrake    schedule 26.02.2014


Ответы (1)


Так что косые черты не имеют значения, запуск внутри сценария оболочки не имеет значения, я думаю, что у вас должно работать.

Проблема в том, что версия NuGet.exe, зарегистрированная в вашем репозитории, является какой-то старой версией nuget, которая несовместима с моно. Загрузите последнюю версию с https://nuget.org/nuget.exe или используйте NuGet.exe update --self, если имеющаяся у вас версия nuget поддерживает его.

person jbtule    schedule 25.02.2014