
Сегодня утром я потратил несколько часов, пытаясь настроить Rails на новом экземпляре Ubuntu, и заметил, что этот процесс невероятно запутан, чем на Windows. На Windows я захожу на rubyinstaller.org, запускаю исполняемый файл (меня особенно интересовала версия 1.9.2-p180), а затем соответствующим образом корректирую системный путь. Rails также не требует дополнительных шагов, я могу клонировать репозиторий git и начать работать.
На Ubuntu мне пришлось установить RVM (что я мог бы сделать и для Windows), установить перечисленные prereqs, сделать так, чтобы apt-get не работал, потому что куча этих пакетов больше не была доступна. Затем я наконец запустил его и rvm install
обнаружил, что make не будет работать, поэтому мне пришлось вручную закомментировать кучу зависимостей от openssl из одного из файлов .c и пересобрать его, после чего он, наконец, установился. Однако Rails был еще далек от завершения, поэтому мне пришлось установить еще кучу предварительных требований, отредактировать какой-то дополнительный файл в исходном коде ruby и выполнить его, и тогда я, наконец, смог rails console
даже начать.
Это нормально? Стоит ли мне ожидать, что все займет пару дополнительных часов на Ubuntu, если я собираюсь разрабатывать приложения Rails? Мне пришлось проконсультироваться как минимум с 3-4 руководствами по 11.04 и как минимум с 5 различными сообщениями Stack Overflow, чтобы все это запустить, мне кажется, это очень травмирующий пользовательский опыт.
решение1
Что касается того, почему ваш опыт был трудным, я не уверен, что на это можно ответить, не зная больше, что именно вы сделали. Что касается вашего вопроса "это нормально?" Я не уверен, что на него можно ответить определенно, но я могу поделиться своим опытом в надежде, что он будет полезен!
Я занимаюсь разработкой на Rails с Ubuntu уже более двух лет и могу сказать, что мне никогда не приходилось иметь дело с неисправными пакетами или кодом touch/rebuild в любом из требуемых пакетов. Я полностью переустанавливаю с каждым релизом, и мой опыт показывает, что с каждым релизом настраивать среду Rails становится проще (вероятно, из-за растущего опыта). В целом, после чистой установки Ubuntu, я бы сказал, что мне требуется меньше часа (иногда гораздо меньше), чтобы довести свою среду до той стадии, на которой она была до чистой установки.
Пару дней назад я следовал указанному по ссылке руководству, чтобы полностью перенастроить свою среду разработки Rails на 11.10. Ранее я использовал пакеты менеджера пакетов Ruby, которые работали отлично, пока мне не понадобилось запустить несколько версий Ruby. Обратите внимание, что использование пакетов менеджера пакетов для разработки Ruby обычно считается не лучшим способом разработки Ruby на Ubuntu (подробности см. в указанной по ссылке статье), но в прошлом у меня это всегда работало отлично (когда вам нужна только одна версия Ruby, Rails и Gems).
Я думаю, что Linux отличается от некоторых других ОС тем, что он может делать что-то разными способами, тогда как в некоторых других ОС это может быть возможно только одним конкретным способом. Это касается настройки среды разработки (есть несколько способов сделать это), и легко заметить, что это приводит к путанице и необходимости обращаться к разным руководствам. Исходя из моего ограниченного опыта, использование скрипта установки RVM bash в связанной статье было самым простым (то есть, учитывая основные преимущества RVM, если RVM вам не подходит, то могут быть более простые способы, такие как менеджер пакетов).
Если вы более знакомы с разработкой в Windows и впервые настраиваете Ubuntu для разработки, я думаю, разумно ожидать, что это займет больше времени, просто потому, что многие вещи требуют больше времени, когда мы учимся делать их в первый раз. Если это окажется "травматичным", то я просто надеюсь, что вы найдете ценными полученные опыт и знания :)
решение2
К вашему сведению: я только что закончил полную настройку 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 все необходимые Gems и запустить их, и все заработало. Не было необходимости, rvm
и я никогда не сталкивался с неисправными пакетами. Хорошо, я не был заинтересован в одномспецифическийсборка Ruby, но тогда почему вы были?
Возможно, вы сталкивались с одним из (к сожалению, многочисленных) сайтов «Ruby-manual-hack-installation-du-jour», которые советуют вам отказаться от всех систем управления пакетами и скомпилировать все самостоятельно.
В отличие от предыдущего автора, я думаю, что одно из различий между Windows и Linux в отношении Ruby заключается в том, что в Windows естьнет«официальный» способ установки программного обеспечения (но есть много неофициальных способов, установщиков, веб-сайтов и т. д.), но в Linux нетявляется«официальный» способ (пакет дистрибьютора) обычно работает лучше всего, но несколько ограничивает ваш выбор.
А поскольку программное обеспечение Linux имеет тенденцию иметь гораздо больше общего (код, функциональность и т. д.) с программным обеспечением Windows, а различие между «ОС» и «приложениями» гораздо более размыто, чем в Windows, то если вы начнете вручную компилировать и устанавливать программное обеспечение в Linux, будьте готовы к тому, что вам придется гораздо больше заботиться о зависимостях, библиотеках и т. д., чем в Windows.
Лучший способ — всегда приобретать дистрибьюторские пакеты (мой опыт).