Здание общественного транспорта

Я хочу попробовать MassTransit, но я падаю на первое препятствие.

Во-первых, кажется, что ссылка для скачивания ведет в нужное место. Поэтому я решил, что просто возьму исходный код и соберу его. Однако есть зависимость от Ruby и пары драгоценных камней (это немного раздражает разработчика С#, который никогда раньше не использовал Ruby), я установил Ruby и драгоценные камни и попытался запустить build.bat, и теперь я получаю....

Building for .NET 3.5
rake aborted!
cannot load such file -- zip/zip
C:/dev/MassTransit/rakefile.rb:7:in `<top (required)>'
(See full trace by running task with --trace)

поэтому я повторно запустил его с помощью --trace и получил...

Building for .NET 3.5
rake aborted!
cannot load such file -- zip/zip
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/albacore-0.3.5/lib/albacore/unzip.rb:2:in `<top (required)>'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/albacore-0.3.5/lib/albacore.rb:9:in `block in <top (required)>'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/albacore-0.3.5/lib/albacore.rb:9:in `each'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/albacore-0.3.5/lib/albacore.rb:9:in `<top (required)>'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
C:/dev/MassTransit/rakefile.rb:7:in `<top (required)>'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load_rakefile'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:637:in `raw_load_rakefile'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:94:in `block in load_rakefile'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:93:in `load_rakefile'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:77:in `block in run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:75:in `run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/bin/rake:33:in `<top (required)>'
C:/Ruby193/bin/rake:23:in `load'
C:/Ruby193/bin/rake:23:in `<main>'

К сожалению, я не знаю... Есть идеи?


person Tim Jarvis    schedule 10.02.2014    source источник
comment
Есть ли папка с именем zip, а внутри этой папки есть файл с именем zip.rb? Внутри rakefile.rb вам может понадобиться изменить require на require_relative. Проблема также может быть в этом файле: C:/Ruby193/lib/ruby/gems/1.9.1/gems/albacore-0.3.5/lib/albacore/unzip.rb   -  person Rots    schedule 10.02.2014
comment
@Rots Спасибо за комментарий ... я упоминал, что у меня нет рубинового опыта? Зип-папки нет. Когда вы говорите, что мне может понадобиться require_relative, вы имеете в виду изменить все require на require_relative? и когда вы говорите, что проблема может быть в файле ‹..longpath..›/unzip.rb ммм, хорошо... в чем проблема?   -  person Tim Jarvis    schedule 10.02.2014
comment
Извини, Тим, я должен был быть более ясным для тебя. Строка cannot load such file -- zip/zip указывает, что он ищет файл с именем zip.rb где-то в папке zip. Он может находиться в C:/dev/MassTransit/ или в любой из папок драгоценных камней, например, для драгоценного камня альбакора C:/Ruby193/lib/ruby/gems/1.9.1/gems/albacore-0.3.5/lib/albacore. Либо rakefile.rb, либо любой из драгоценных камней (вероятно, albacore) ищет это требование zip. Возможно, проверьте albacore unzip.rb в качестве первой проверки, ища требование. Он будет вверху файла и будет выглядеть так require zip/zip   -  person Rots    schedule 10.02.2014
comment
Итак, пока я пытался что-то сделать, я внезапно подумал, что, возможно, zip был еще одним драгоценным камнем, который мне нужно было установить, и это, похоже, сработало ... затем у меня была следующая ошибка, на этот раз это был semver, который мне нужно было установить ( до сих пор этот опыт был менее чем удовлетворительным) теперь сборка, кажется, имеет все, что нужно ... но к следующей проблеме .... Теперь я получаю. Свойство outputpath не установлено для проекта «MassTransit.csproj»   -  person Tim Jarvis    schedule 10.02.2014
comment
Звучит как неприятная процедура установки! Это с открытым исходным кодом? Вы можете исправить это :) stackoverflow.com/questions/15134384/   -  person Rots    schedule 10.02.2014
comment
Да, мне, конечно, трудно все это запустить.   -  person Tim Jarvis    schedule 10.02.2014


Ответы (1)


Просто используйте NuGet. Двоичные файлы уже есть, и вы обязательно получите нужный материал. Вам также понадобится транспортный пакет, например MassTransit.RabbitMQ или MassTransit.MSMQ.

Инструкции по сборке есть в README. Если вы действительно хотите собрать из исходников, начните с этого. Если они по какой-то причине не работают, обратитесь в список рассылки, и мы можем обновить README.

Наконец, TeamCity создает для вас MassTransit, если вам нужна сборка без NuGet, http://TeamCity.codebetter.com. . Войдите в систему как гость, найдите проект MassTransit, и вы сможете загрузить артефакты.

person Travis    schedule 10.02.2014
comment
даст ли мне NuGet все, что мне нужно? Как насчет материала RuntimeServices. А что с развертыванием? - person Tim Jarvis; 11.02.2014
comment
Вам нужны только RuntimeServices, если вы используете MSMQ. Затем вам нужно будет загрузить сборку из TeamCity. Ветка разработки находится по адресу teamcity.codebetter.com/ репозиторий/скачать/bt8/80952:id/. В папке services вы найдете RuntimeServices. - person Travis; 11.02.2014
comment
Я бы действительно предложил использовать RabbitMQ вместо MSMQ, если у вас нет очень веских причин для использования MSMQ. RabbitMQ — гораздо более надежная платформа, к тому же вам не нужна дополнительная инфраструктура. - person Travis; 11.02.2014
comment
Мне также понадобится DTC, я подумал, что это означает, что мне нужно пройти маршрут MSMQ. Кстати, спасибо за помощь. Немного расстраивает, что на веб-сайте MassTransit так мало (и неработающая ссылка для скачивания) точной информации о том, как начать работу. Должен сказать, что это немного отталкивает меня от продукта, будет ли мой опыт с остальной частью продукта таким же плохим? - person Tim Jarvis; 11.02.2014
comment
Так не должно быть, строительство не для большинства людей, и вам действительно не нужно пытаться. Я попытался обновить наш сайт WordPress, но тема не сохраняет изменения. Я должен передать это парню, который им управляет. Если у вас есть проблемы, список рассылки часто даст вам ответы быстрее, чем здесь. - person Travis; 11.02.2014