Ограничения в запуске Ruby / Rails на Windows - PullRequest
80 голосов
/ 03 октября 2008

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

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

РЕДАКТИРОВАТЬ Спасибо за ответ по поводу установки и запуска в Linux, но я действительно пытаюсь понять ограничения функциональности, указанные в документации по установке и нерабочих библиотеках - Я пытаюсь найти ссылку на комментарий, но на него ссылались в процессе установки. Прочтите меня, когда я установил пакет msi. Я думаю,

EDIT Спасибо за ссылки на IronRuby в последнее время, это, безусловно, проект для наблюдения, и, поскольку это, очевидно, язык .NET, он будет неоценимым, если он будет соответствовать обещаниям. В конце концов, однако, в моем случае, я просто укусил пулю и установил сервер Ubuntu.

Я должен был сделать это много лет назад

Ответы [ 16 ]

101 голосов
/ 03 октября 2008

Вот краткий обзор текущих проблем с 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 , хотя даже они не требуются, если вы просто придерживаетесь Mongrel и SQLite.

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

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

6 голосов
/ 03 октября 2008

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

Менее 10 минут работы.

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

5 голосов
/ 25 июля 2010

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

4 голосов
/ 19 января 2011

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

4 голосов
/ 27 марта 2009

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

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

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

Вариант 2: использовать jRuby

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

Обновление за ноябрь 2009

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

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

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

3 голосов
/ 03 октября 2008

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

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

Эти ребята также делают замечательное дополнение для разработчиков на Ruby для Visual Studio:

http://www.sapphiresteel.com/

2 голосов
/ 03 октября 2008

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

1 голос
/ 02 мая 2010

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

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

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

1 голос
/ 04 февраля 2009

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

1 голос
/ 03 октября 2008

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

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

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

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

...