Ограничения при запуске Ruby / Rails в Windows

В документации по установке RoR упоминается, что существует множество ограничений для запуска Ruby on Rails в Windows, а в некоторых случаях целые библиотеки не работают.

Насколько серьезны эти ограничения, всегда ли я должен по умолчанию использовать Linux для кодирования / запуска RoR, и ожидается ли, что Iron Ruby устранит эти ограничения, или они являются ядром самой ОС?

ИЗМЕНИТЬ Спасибо за ответ по поводу установки и работы в Linux, но я действительно пытаюсь понять ограничения функциональности, указанные в документации по установке, и нерабочие библиотеки - Я пытаюсь найти ссылку на комментарий, но на него есть ссылка в установке, прочтите меня, когда я установил пакет msi, я думаю

РЕДАКТИРОВАТЬ Спасибо за ссылки на IronRuby в последнее время, это, безусловно, проект, который стоит посмотреть, и, поскольку он, очевидно, является языком .NET, он будет неоценим, если он будет жить до обещаний. В конце концов, однако, в моем случае я просто укусил пулю и установил сервер Ubuntu.

‹Bias› Я должен был сделать это много лет назад ‹/bias›


person johnc    schedule 02.10.2008    source источник
comment
Нет никаких ограничений. Для каждой проблемы есть обходные пути или альтернативы.   -  person Chloe    schedule 29.04.2018


Ответы (16)


Вот обзор текущих проблем с Rails в Windows:

  • Ruby и Rails в Windows работают медленнее, чем в Unix-подобных ОС.
  • Некоторые драгоценные камни и библиотеки не работают в Windows.
  • Некоторые Unix-измы недоступны в Windows (примеры).
  • Сообщество в основном работает на Mac или Linux (с этим особенно сложно иметь дело; никто не хочет быть один на одном острове, когда остальная часть племени тусуется, веселится и отлично ладит на другом остров. Сообщество важно. Похоже, что большинство разработчиков Windows, начинающих с Rails, быстро переключаются на Mac или Linux. Однако небольшое сообщество пользователей Windows Ruby, которые все же настаивают, чрезвычайно дружелюбны, преданы своему делу и хорошо осведомлены - иди поздоровайся.)

Обратите внимание, что большая часть следующих рекомендаций теперь устарела из-за великолепных усилий команды RubyInstaller по обеспечению стабильности и совместимости. и производительность для Ruby в Windows. Мне больше не нужно использовать VirtualBox, который многое говорит о том, как далеко продвинулся Ruby для Windows.

Если вы хотите получить более подробную техническую информацию, необходимо прочитать следующее. :

Лучшая цитата из последнего:

AkitaOnRails: наиболее очевидным является то, что любой Gem с расширениями C без надлежащих двоичных файлов для Windows выйдет из строя. Попытка выполнить команды оболочки не удастся, как и RubyInline. Что еще?

Луис Лавена: Хе-хе, это лишь верхушка айсберга.

Сказав все это, я не считаю разработку с Rails в Windows слишком болезненной. Использование Ruby по большей части доставляет удовольствие. Я бы избегал InstantRails, потому что, честно говоря, правильно установить Ruby с помощью установщика в один щелчок и затем выполнить gem install rails. Если вам нужны Apache и MySQL, WAMP - хороший выбор, хотя даже они не требуются, если вы просто придерживаетесь Дворняга и SQLite.

В последнее время я начал запускать VirtualBox с экземпляром Ubuntu Server, который точно отражает сервер развертывания. Я подключаю сетевой диск к серверу Ubuntu, затем редактирую и запускаю свой код прямо на виртуальной машине. Он практически не использует память (в настоящее время он использует ~ 43 МБ; в отличие от Firefox, который использует ~ 230 МБ), и Rails на самом деле работает лучше, чем запускать его изначально в Windows. Кроме того, вы можете экспериментировать со своим виртуальным сервером в относительной безопасности. Это действительно хорошая установка, я ее очень рекомендую.

Наконец, вот несколько блогов Ruby / Rails, предназначенных для пользователей Windows:

person Charles Roper    schedule 03.10.2008
comment
Какой отличный, полный ответ и какая удручающая реальность ... но я думаю, именно поэтому я потратил много часов на то, чтобы мой VirtualBox работал в Windows compileyouidontevenknowyou.blogspot.com/2008/12/. Спасибо за ответ: я воспользуюсь своим VirtualBox. - person Dan Rosenstark; 26.12.2008
comment
Это не так удручающе, как кажется; конечно, не так удручающе, как необходимость использовать Java или .NET. Шучу, шучу. ;) - person Charles Roper; 13.01.2009
comment
Это круто, Чарльз, я до сих пор поражаюсь тому, насколько мы зависимы от платформы ... Думаю, еще 50 лет ... - person Dan Rosenstark; 22.01.2009
comment
Пришлось переустановить Windows, и мне не хотелось снова запускать Rails на моем компьютере с Windows. Итак, установил VirtualBox, создал виртуальный сервер Ubuntu, настроил общие папки, чтобы оба могли получить доступ к моему коду Rails, установил Ruby и Rails, настроил переадресацию портов в VirtualBox, чтобы я мог получить доступ к приложению Rails из Windows - person Guy C; 14.03.2009
comment
Небольшое примечание: с RailsInstaller начать работу в Windows стало еще проще. - person Azolo; 11.06.2012
comment
Я разрабатываю из Windows, а rails работает на Ubunutu VM. На самом деле я не использую виртуальную машину, так как я использую SSH и общие папки для управления всем из Windows. Вот моя хорошо задокументированная установка: chetane.com/2012/09/11/ - person Chetane; 13.09.2012
comment
Запуск RoR на виртуальной машине - это нормально, когда разработчик или его компания работает на MS. Запускать его в производство - безумие и бессмыслица. Даже если причина в том, что вы хотите использовать уже выделенную виртуальную машину Windows, компании отключают виртуализацию на клиентских виртуальных машинах по очевидным причинам. - person Andre Figueiredo; 08.09.2015

Я обнаружил, что настроить и запустить среду разработки с Instant Rails в Windows было действительно просто. Особенно при использовании Netbeans или Radrails в качестве IDE.

Работа менее 10 минут.

В чем проблема для тех, кто боролся?

person RichH    schedule 02.10.2008

Я занимаюсь разработкой Rails на ПК с Windows пару лет и не испытывал никаких проблем с установкой, когда только начинал. Однако недавно я перестроил свою машину и изо всех сил пытался заставить работать установщик One-Click Ruby и последнюю версию Gems. Вот что я пробовал.

Вариант 1. Запуск виртуальной машины Linux

Меня очень впечатлила идея Чарльза Ропера о запуске Rails на виртуальной машине Linux, и я изначально пошел именно по этому пути. Все прошло довольно гладко, и я документировал это на budanters.blogspot.com. Однако я боролся с доступом к серверу MySQL (в виртуальной машине Linux) с хоста Windows.

Вариант 2: используйте jRuby

Я недавно установил версию пакета Ruby NetBeans 6.5 для Windows, но не знал об этом , это установит драгоценные камни JRuby и Rails. В среде IDE есть пользовательский интерфейс для установки Gems, и теперь у меня есть резервное копирование моего старого приложения, которое работает в моей среде разработки.

Обновление ноябрь 2009 г.

Сейчас я использую Netbeans 6.7 в Windows, и в целом я очень им доволен. Единственным недостатком является то, что он устанавливает JRuby 1.2, и мне нужно было установить JRuby 1.3 вручную, чтобы что-то работало (я не могу вспомнить, что), и я полностью не смог заставить развертывание, работающее с Capistrano или Владом Deployer, работать. Влад использует Open4, который не работает с JRuby.

Обновление май 2010 г.

Netbeans 6.8 поставляется с JRuby 1.4, поэтому больше не нужно возиться с ручной установкой JRuby 1.3. Также кажется, что в JRuby 1.5 Open4 теперь будет работать, а это значит, что Влад может начать работать.

person Guy C    schedule 26.03.2009
comment
Просто хотел добавить, что хороший вариант для запуска виртуальной машины Ubuntu - использовать Vagrant. Вы разрабатываете в Windows, и ваши файлы совместно используются с виртуальной машиной Ubuntu, затем вы можете использовать ssh для своей виртуальной машины и запускать команды там, например, rails server - person carlosvini; 17.08.2014

Никто еще не упомянул Bitnami RubyStack? Я использую его уже много лет вместе с RadRails. Включает Apache, MySQL / Postgre, phpmyadmin, git и т. Д. Необязательно Ruby 1.9.2 / Rails 3.0b. Вы также можете запустить Ubuntu RubyStack на виртуальной машине, но я еще не пробовал.

person chi    schedule 25.07.2010

На http://railsinstaller.org/ доступен пакетный установщик, который стоит попробовать.

person Andreas    schedule 19.01.2011

Лично я обнаружил, что запуск Ruby + Rails на Windows - это несложно. От загрузки до просмотра моего первого приложения HelloWorld у меня ушло всего 15 минут. Я даже не стал беспокоиться ни о чем из InstantRails.

Впоследствии я не могу сказать, что столкнулся с какими-либо проблемами со скоростью, о которых сообщалось, или проблемами с Gems под Windows.

Эти ребята также добавляют хорошие Ruby-разработчики для Visual Studio:

http://www.sapphiresteel.com/

person Kev    schedule 03.10.2008
comment
Если вы никогда не использовали Rails в OS X или под * nix, вы, вероятно, не заметите разницы в скорости. Разница становится очевидной, когда вы сравниваете их. - person Charles Roper; 03.10.2008
comment
Возможно, но я хочу сказать, что не было ничего заметно медленного, что заставило меня подумать: «Черт возьми, это бежит как собака». - person Kev; 03.10.2008
comment
Как ты ставил рубин + рубин на рельсы на windows? - person ; 23.06.2014

Когда я последний раз возился с Rails в Windows, я использовал Instant Rails и обнаружил, что это довольно болезненный процесс, за исключением отсутствия обновлений для Instant Rails (что, судя по виду веб-сайта, все еще является небольшой проблемой. , поскольку Instant Rails 2.0 использует ROR 2.0, а самая новая версия - 2.1). Вы также можете изучить ответы на этот вопрос, поскольку в нем упоминается ряд других способов легко запустить RoR в Windows.

person Paul Wicks    schedule 02.10.2008
comment
Вряд ли сложно установить Rails 2.1 'gem update rails' - person RichH; 03.10.2008
comment
@Paul Wicks Ты действительно имеешь ввиду больно? @RichH Я, кажется, помню, что мне тоже нужна была система обновления гемов (я сделал все, что сказано в книге бета-версии Ruby on Rails от прагматичных программистов), но я согласен, что обновить ее несложно - person Steve Bosman; 03.10.2008

У вас есть варианты Windows для получения и установки всего, например Instantrails:

Однако мой личный опыт попыток заставить коллег начать работать с Windows показал, что это довольно болезненный опыт. Вы должны быть в состоянии получить большую часть (если не все) бега, но будьте готовы потратить немного времени на обдумывание (и разочарование).

YMMV

Я бы, вероятно, порекомендовал Linux или Mac для разработки рельсов (но я немного предвзято отношусь к Windows, поэтому вам, возможно, придется отнестись к этому с недоверием).

person Dave Smylie    schedule 02.10.2008

Вариант, если вы застряли в Windows, - это иметь виртуальные серверы под управлением Linux / BSD / what-have-you.

Он также решает множество других проблем (позволяя легко опробовать несколько конфигураций сервера и т. Д.).

person Neall    schedule 02.10.2008

Если вы не можете уйти от Windows, используйте VMware и запустите какую-нибудь форму Linux (популярна ubuntu). Вашим ограничением №1 будут скомпилированные драгоценные камни, которые плохо работают в Windows.

Большинство руководств предполагают, что вы используете какую-то форму * nix, и когда вы начинаете выходить за пределы базовых лесов, вы чувствуете боль. Манипуляции с изображениями, полнотекстовый поиск и даже некоторые адаптеры db работают либо только на * nix, либо их сложно настроить.

Большинство веб-хостов также используют Linux, поэтому хорошо разрабатывать на той же платформе, что и ваш хост, чтобы избежать проблем с развертыванием.

person MatthewFord    schedule 03.10.2008

В общем, производительность Rails в Windows является проблемой.

Что касается настройки развертывания, вы можете либо запустить Rails в FCGI, либо использовать mongrel (и настроить Apache или IIS в качестве прокси). mod_rails (http://www.modrails.com) - лучший вариант развертывания для Rails на сегодняшний день, но не t работать в Windows.

Возможно, вам повезет больше, если вы используете JRuby в Windows для запуска Rails в любой среде JVM, которую вы хотите (tomcat, сервер J2EE и т. Д.).

IronRuby еще не создан для запуска Rails в производственной среде, но в конечном итоге он будет нацелен на запуск Rails внутри любой среды ASP.NET (IIS).

person Jimmy Schementi    schedule 03.10.2008

Вы можете просто использовать Cygwin и его версию Ruby. Это избавляет от споров о том, что скомпилированные драгоценные камни не работают в Windows - таким образом мне удалось скомпилировать много драгоценных камней.

person Community    schedule 04.02.2009

Самым большим ограничением работы под Windows является то, что многие вещи работают очень медленно.

См. эту ветку. Для обсуждения.

Простые вещи, такие как «скрипт / консоль» и выполнение rake-задач, займут в Windows в 5 раз больше времени, чем в Linux или Mac.

Другие ограничения:

  • В Vista нет IE6.
  • BackgroundRB и многие другие гемы на основе c не работают в Windows.
  • Нет пассажира
person Sam Saffron    schedule 03.10.2008

Сам я не являюсь разработчиком рельсов, но подумал, что это может быть интересно. Microsoft выпустила IronRuby 1.0, это версия Ruby, работающая на платформе .NET, которая очевидно работает в 4 раза быстрее, чем официальная реализация Rails в Windows.

http://www.drdobbs.com/open-source/224600662

Официальный сайт http://ironruby.codeplex.com/

person Doobi    schedule 02.05.2010
comment
Ironruby, кажется, спит больше года. - person reto; 17.05.2011

Для ускорения вы можете попробовать мой loader speeder upper (помогает рельсам работать быстрее в дремоте): https://github.com/rdp/faster_require Также проверьте spork, который работает в дремоте

person rogerdpack    schedule 10.03.2011

Альтернативой RailsIntaller является RailsFTW. Ruby и Rails более обновлены.

person null    schedule 25.11.2014