Чому так важко налаштувати Ruby on Rails на Ubuntu?


13

Я провів кілька годин сьогодні вранці, намагаючись налаштувати Rails на свіжий екземпляр Ubuntu, і я помітив, що процес неймовірно складніший, ніж у Windows. У Windows я переходжу на rubyinstaller.org, запускаю виконувану програму (мене спеціально цікавив 1.9.2-p180) і потім відповідно коригую системний шлях. Rails також не вимагає додаткових кроків, я можу клонувати git сховище і почати віджимання.

На Ubuntu мені довелося встановити RVM (що я міг би зробити і для Windows), встановити попередні переліки, які перераховані в списку, помилка apt-get, оскільки купу цих пакетів більше не було. Тоді я, нарешті, побіг rvm installлише дізнатися, що make не працює, тому мені довелося вручну прокоментувати купу залежностей від openssl з одного з .c-файлів та відновити його, а потім остаточно встановити. Хоча Rails ще далеко не зроблений, тому мені довелося встановити ще одну необхідну умову, відредагувати якийсь додатковий файл у джерелі рубіну та виконати його, і тоді я нарешті міг дійти rails consoleнавіть до початку.

Це досить нормально? Якщо я дуже очікую, що все займе пару додаткових годин на ubuntu, якщо я буду розробляти додатки Rails? Мені довелося проконсультуватися щонайменше з 3-4 посібниками на 11.04 та принаймні 5 різних публікацій із переповненням стеків, щоб розпочати роботу, це здається мені дуже травматичним для користувачів.


1
Яке керівництво, де ви слідуєте?
Хорхе Кастро

Це завжди клопоту, але це не так вже й погано - використовуйте RVM. Рейки IMHO повинні бути видалені з придатних, оскільки це просто заподіює версійний біль. (Або має потенціал.)
Туфір

Відповіді:


4

Щодо того, чому ваш досвід був складним, я не впевнений, що на нього можна відповісти, не знаючи, що саме ви робили. Що стосується вашого питання "чи це досить нормально?" Я не впевнений, що на це можна відповісти остаточно, але можу передати свій досвід, сподіваючись, що це корисно!

Я розробляв Rails з Ubuntu вже більше двох років і можу сказати, що мені ніколи не доводилося мати справу зі зламаними пакетами або сенсорним / перебудовуючим кодом у будь-якому з необхідних пакетів. Я повністю перевстановлююсь із кожним випуском, і мій досвід полягав у тому, що простіше налаштувати моє середовище Rails з кожним випуском (можливо, завдяки зростаючому досвіду). Взагалі, після чистої установки Ubuntu, я б сказав, що мені потрібно менше години (часом набагато менше), щоб довести моє середовище до того етапу, де було до чистої установки.

Пару днів тому я дотримувався пов'язаного підручника, щоб повністю змінити своє середовище розробки Rails 11.10. Раніше я використовував пакунки пакета Ruby, який працював чудово, поки мені не потрібно було запускати кілька версій Ruby. Зауважте, що покладатися на пакети менеджерів пакетів для розробки Ruby, як правило, вважається не найкращим способом розробити Ruby на Ubuntu (детальніше див. Пов'язану статтю), але для мене це завжди добре працювало в минулому (коли вам потрібна лише одна версія Рубін, рейки та дорогоцінні камені).

Я думаю, що одне, що відрізняє Linux від деяких інших ОС, - це можливість робити щось різними способами, в той час як в деяких інших ОС це можливо лише одним певним чином. Це стосується налаштування вашого середовища розробки (існує декілька способів зробити це), і це легко зрозуміти, що призводить до плутанини та необхідності консультацій з різними посібниками. З мого обмеженого досвіду, використання сценарію встановлення башти RVM у зв'язаній статті було найпростішим (тобто, враховуючи основні переваги RVM, якщо RVM не приносить вам користі, то можуть бути простіші способи, такі як менеджер пакунків) .

Якщо ви більше знайомі з розробкою в Windows і вперше налаштовуєте Ubuntu для розробки, я вважаю, що розумно очікувати, що це займе більше часу, просто тому, що багато речей займають більше часу, коли ми вперше вчимося робити їх. Якщо це в кінцевому підсумку буде "травматичним", то я просто сподіваюся, що ви зможете знайти досвід та знання, які ви придбали цінними :)

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/


Дякую за це керівництво, я посилаюся на нього наступного разу. Я мушу зазначити, що це дещо нерозумно, оскільки спочатку він попереджає вас про те, що ніколи не використовуєте apt-get, а потім переходить до завантаження з нього десятка рубінових залежностей: | У будь-якому випадку, можливо, деякі мої болі були викликані необхідністю спеціально використовувати 1.9.2-p180, майбутні версії мали специфічні для Ubuntu виправлення, які потрібно було вирішити вручну для цієї версії. Відмінна відповідь загалом, дає мені більше впевненості щодо дотримання ОС для подальшої роботи.
Олександр Курилін

Ось питання, з яким я стикався, серед багатьох інших: digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems
Олександр Курилін

Якщо вам сподобалась ця відповідь, натисніть «Ця відповідь корисна» на додаток, щоб подякувати, хто відповів. Це також демонстрація вдячності для тих, хто взяв клопоти на дослідження та відповів на питання. :)
Жоао Сантана

1

Тільки FYI: Я щойно закінчив повну установку RoR на Ubuntu 12.04 за п’ять хвилин.

  • sudo apt-get install git git-svn postgresql-9.1 libpq-dev ruby1.9.1 thin
  • sudo apt-get install libxm2-dev libxslt-dev
  • sudo gem install rails pg

libxm2-devі libxslt-devє лише для Nokogiri (якщо вона вам потрібна) і postgresql-9.1, libpq-devі pgлише для бази даних PostgresSQL (якщо вона потрібна).

Після цього я зміг запустити bundle installв своїх каталогах проектів Rails, щоб отримати всі необхідні дорогоцінні камені та працювати, і все працювало. Не потрібно, rvmі я ніколи не стикався зі зламаними пакетами. Гаразд, тому мене не зацікавила одна конкретна збірка Рубі, але чому тоді ти був?

Можливо, ви зіткнулися з одним із (на жаль, багатьох) веб-сайтів "Ruby-manual-hack-installation-du-jour", який розповідає про те, щоб зняти всі системи управління пакунками і скласти все самостійно.

На відміну від попереднього плаката Я думаю , що одна різниця між Windows і Linux щодо Ruby , є те , що в ОС Windows немає ні «офіційний» спосіб установки програмного забезпечення (але багато неофіційних способів, монтажників, веб - сайти і т.д.), але в Linux є це "офіційним" способом (пакет дистриб'ютора), який зазвичай найкраще працює, але дещо обмежує ваш вибір.

Оскільки програмне забезпечення Linux, як правило, ділиться набагато більше (код, функціональність тощо), як програмне забезпечення Windows, і відмінність між "ОС" та "програмами" набагато розмитіше, ніж у Windows, якщо ви почнете збирати та встановлювати програмне забезпечення вручну вручну. Linux очікує, що доведеться піклуватися про залежності, бібліотеки тощо, ніж у Windows.

Найкращий спосіб - це завжди отримати пакети дистриб'юторів (мій досвід).


Проблема з таким підходом "sudo gem install rails pg" полягає в тому, що далеко не всі дорогоцінні камені доступні таким чином. Що є зверненням до RVM (який потім має свої недоліки).
Туфір

Туфіре, які дорогоцінні камені конкретно відсутні? І чому це проблема (оскільки ви завжди можете додати більше джерел дорогоцінних каменів, використовуючи або дорогоцінний камінь, або постачальник)?
Єнс

виправте мене, якщо не так, але gem - це менеджер пакунків, схожий на apt-get. Те, що ви пропонуєте, це використовувати yum поряд з apt-get, так би мовити. Просто це звучить як хаос, навіть якщо нічого не піде не так. (що робити, якщо між версією apt-get є тим, що має дорогоцінний камінь, існує конфлікт між версіями). Є багато, безліч дорогоцінних каменів, які доступні через дорогоцінний камінь, які не є apt-get.
Туфір

Ось чому я малюю лінію на «рейках». Я використовую apt-get для встановлення всього, включаючи Ruby, потім використовую gem для встановлення Bundler, а bundler для встановлення потрібної версії Rails та всіх необхідних дорогоцінних каменів для одного конкретного додатка Rails відповідно до його Gemfile. Для початку я зазвичай встановлюю поточну версію Rails через систему "gem install" у всій системі (це не шкодить, але не потрібно). Так, це дає вам лише одну версію Ruby, з якою ви працюєте, але це поки не було проблемою.
Єнс

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