Обмеження запуску Ruby / Rails на вікнах


81

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

Наскільки погані ці обмеження, чи завжди мені за замовчуванням Linux кодувати / запускати RoR, і чи очікується, що Iron Ruby виправить ці обмеження, чи вони є основними для самої ОС?

EDIT Дякую за відповідь щодо встановлення та запуску в Linux, але я справді намагаюся зрозуміти обмеження функціональності, на які посилається документація щодо встановлення, та неробочі бібліотеки - я намагаюся знайти посилання на коментар, але це було посилання в інсталяції прочитайте мене, коли я встановив пакет msi, я думаю

EDIT Дякую за посилання на IronRuby останнім часом, це, безумовно, проект, який слід подивитися, і оскільки він, очевидно, є мовою .NET, це буде неоціненним, якщо він буде відповідати обіцянкам. Врешті-решт, однак, у моєму випадку я просто перекусив маркер і встановив сервер Ubuntu.

<bias> Я повинен був зробити це багато років тому </bias>


Обмежень немає. Для кожної проблеми існують обхідні шляхи або альтернативи.
Хлоя

Відповіді:


101

Ось огляд поточних проблем із Rails у Windows:

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

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

Якщо ви хочете отримати більше технічних деталей, потрібно прочитати наступне. :

Цитата з цього останнього:

AkitaOnRails: Найбільш очевидним є те, що будь-який самоцвіт із розширеннями C без належних двійкових файлів для Windows не зможе. Спроба виконати команди оболонки не вдасться, і RubyInline також. Що ще?

Луїс Лавена: Хе-хе, це лише вершина айсберга

Сказавши все це, я не вважаю розробку програми Rails для Windows надто болючою. Використовувати Ruby, здебільшого, одне задоволення. Я б уникав InstantRails, бо, чесно кажучи, настільки ж просто встановити Ruby належним чином за допомогою інсталятора одним клацанням миші, а потім зробити a gem install rails. Якщо вам потрібні Apache та MySQL, WAMP - хороший вибір, хоча навіть вони не потрібні, якщо ви просто дотримуєтеся Mongrel та SQLite.

Нещодавно я зробив запуск VirtualBox з екземпляром Ubuntu Server, який точно відображає сервер розгортання. Я прив'язую мережевий диск до сервера Ubuntu, потім редагую та запускаю свій код безпосередньо на віртуальній машині. Він майже не використовує жодної пам'яті (наразі він використовує ~ 43 Мб; на відміну від Firefox, який використовує ~ 230 Мб), а Rails насправді працює ефективніше, ніж запустити його в Windows. Крім того, ви можете експериментувати з віртуальним сервером у відносній безпеці. Це дуже приємна настройка, я настійно рекомендую її.

Нарешті, ось декілька блогів Ruby / Rails, призначених для користувачів Windows:


2
Яка чудова, повна відповідь і яка гнітюча реальність ... але, мабуть, саме тому я витрачав години і години на те, щоб запустити свій VirtualBox на Windows compileyouidontevenknowyou.blogspot.com/2008/12/… . Дякую за вашу відповідь: я буду користуватися своїм VirtualBox.
Dan Rosenstark,

4
Це не так гнітюче, як це звучить; звичайно, не настільки гнітюче, як необхідність користуватися Java або .NET. Жартую, просто жартую. ;)
Чарльз Ропер

1
Це круто, Чарльз, я все ще вражений тим, наскільки ми все ще залежні від платформи ... я думаю, ще 50 років ...
Ден Розенстарк,

1
Довелося перевстановити Windows і не хотів знову запускати Rails на моєму вікні Windows. Отже встановив VirtualBox, створив віртуальний сервер Ubuntu, налаштував спільні папки, щоб обидва мали доступ до мого коду Rails, встановив Ruby & Rails, налаштував переадресацію портів у VirtualBox, щоб я міг отримати доступ до програми Rails з Windows
Guy C

1
Я розробляю з Windows, тоді як rails працює на Ubunutu VM. Я фактично не "використовую" віртуальну машину, оскільки я використовую SSH і використовую спільні папки, щоб керувати всім із Windows. Ось моя добре задокументована установка: chetane.com/2012/09/11/…
Chetane

6

Я виявив, що створити та запустити середовище розробки з використанням Instant Rails у Windows було дуже просто. Особливо, коли в якості IDE використовується Netbeans або Radrails .

Менше 10 хвилин роботи.

У чому виявилася проблема тим, хто боровся?


5

Я розробляв Rails на ПК з ОС Windows протягом декількох років і не мав жодних реальних проблем із встановленням, коли вперше розпочав роботу. Однак нещодавно я відновив свою машину і намагався запустити програму встановлення Ruby в один клік та останню версію Gems. Отже, це те, що я намагався.

Варіант 1: Запустіть віртуальну машину Linux

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

Варіант 2: Використовуйте jRuby

Нещодавно я встановив Windows-версію пакета NetBeans 6.5 Ruby, і, не знаючи про це, це встановлює JRuby і коштовності Rails. IDE має інтерфейс для встановлення самоцвітів, і я вже маю стару програму та запускаю її в моєму середовищі розробки.

Оновлення, листопад 2009 р

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

Оновлення у травні 2010 року

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


1
Просто хотів додати, що хорошим варіантом запуску віртуальної машини Ubuntu є використання Vagrant. Ви розробляєте в Windows, і ваші файли надаються спільно з віртуальною
машиною

5

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



3

Особисто я виявив, що Ruby + Rails піднімається і працює на вікнах шматок торта. Від завантаження до перегляду мого першого додатку «HelloWorld» у мене зайняло всього 15 хвилин. Я навіть не турбувався про будь-які речі InstantRails.

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

Ці хлопці також приємно додають розробників Ruby для Visual Studio:

http://www.sapphiresteel.com/


Якщо ви ніколи не використовували Rails в OS X або нижче * nix, то, ймовірно, ви не помітите різниці швидкості. Це коли ви порівнюєте два, різниця стає очевидною.
Чарльз Ропер

Можливо, але я хочу сказати, що не було нічого помітного, повільного, що змусило мене задуматись, "біс, це біжить як собака".
Кев

Як ви встановили ruby ​​+ ruby ​​на рейки на вікнах?

2

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


Навряд чи важко встановити Rails 2.1 'рейки оновлення дорогоцінних каменів'
RichH,

@ Paul Wicks Ти справді маєш на увазі болюче? @RichH Я, здається, пам'ятаю, що мені також потрібна була "система оновлення дорогоцінних каменів" (я зробив все, що написала бета-версія Ruby on Rails від прагматичних програмістів), але я згоден, що оновлення не складно
Стів Босман,

1

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

Однак мій особистий досвід спроб залучити колег до роботи на вікнах полягає в тому, що це досить болючий досвід. Ви повинні мати змогу запустити більшість (якщо не все), але будьте готові витратити трохи часу на роздуми (і розчарування).

YMMV

Я, мабуть, порекомендував би Linux або Mac для розробки рейок (але я трохи упереджений до вікон, тому вам, можливо, доведеться сприймати це з достатньою кількістю солі).


1

Варіантом, якщо ви застрягли в Windows, є наявність віртуальних серверів під управлінням Linux / BSD / what-have-you.

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


1

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

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

Більшість веб-хостів також запускають Linux, добре розвиватися на тій же платформі, що і ваш хост, щоб уникнути головного болю при розгортанні.


1

Загалом, продуктивність 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).


1

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


1

Найбільшим обмеженням роботи під Windows є те, що багато речей дуже повільні.

Дивіться цю тему . Для обговорення.

Прості речі, такі як "скрипт / консоль" та виконання завдань з граблі, займуть у 5 разів більше часу, ніж у Windows або Mac.

Інші обмеження:

  • Немає IE6 на Vista.
  • BackgroundRB та багато інших дорогоцінних каменів на базі c не працюють у Windows.
  • Немає пасажира

1

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

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

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


1
Здається, Айронрубі спить вже більше року.
рето

0

Для прискорення ви можете спробувати мій навантажувач speeder upper (допомагає рейкам швидше працювати в дозі): https://github.com/rdp/faster_require Також замовити spork, який працює в дозі


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.