Как я могу установить Ruby on Rails 3 на OSX? - PullRequest
15 голосов
/ 26 мая 2010

У меня есть Белый Macbook, и мне нужно идти на конференцию через 10 часов, но у меня много проблем.

Во-первых, я хотел иметь Rails 3, поэтому я использовал MacPorts для установки Ruby 1.8.7. Работало хорошо;) Тогда я думал, что должен установить Rails 3, но нет, нет! Там написано:

$ sudo gem install rails --pre

ERROR: Error installing rails:


            activesupport requires Ruby version >= 1.8.7.

Что мне делать? У меня уже 1.8.7!

Ответы [ 7 ]

37 голосов
/ 27 мая 2010

Сначала необходимо установить RVM, а затем последнюю версию Ruby. Далее вы установите эту версию Ruby по умолчанию. Наконец, вы установите Rails b3.

Установить RVM (http://rvm.beginrescueend.com/rvm/install/):

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

Установите последнюю версию Ruby (http://rvm.beginrescueend.com/rubies/installing/):

rvm install ruby-head

Вы можете проверить, с какими версиями вы сейчас установили:

rvm list

Установить последнюю версию Ruby по умолчанию (замените 'ruby-1.9.2-head' на требуемую версию):

rvm ruby-1.9.2-head --default

Убедитесь, что все в порядке, а затем установите бета-версию Rails:

gem update --system
gem install rails --pre

Возможно, вам придется установить некоторые гем-зависимости до установки Rails.

5 голосов
/ 28 мая 2010

Чтобы легко настроить Rails 3 на машине osx, единственное, что вам нужно сделать, это следовать этому блестящему (как всегда) Railscast , здесь для транскрипции

Вы также можете увидеть комментарии, чтобы проверить наличие проблем и, в конечном итоге, решения.

2 голосов
/ 30 мая 2010

Вы действительно должны использовать rvm , но, поскольку никто не объяснил вам, как это сделать без rvm , вы идете:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
  abstract erubis activesupport mime-types mail text-hyphen text-format   \
  thor i18n rake bundler arel railties rails --prerelease --force
2 голосов
/ 27 мая 2010

Вы должны использовать rvm, как говорили другие, для управления несколькими установками Ruby и Ruby gems.(Если вы пойдете таким образом, найдите время, чтобы внимательно прочитать документацию rvm .)

Однако вам также должно быть удобно выяснить, какую версию Ruby видит ваша оболочка.по умолчанию и почему.Мне кажется, что ваша переменная $PATH может не обновляться должным образом.Переменная $PATH - это то, что определяет, какой интерпретатор Ruby или команда gem будут видны первыми, если у вас установлено более одного (как сейчас).MacPorts по умолчанию установит новые двоичные файлы в /opt/local/bin, и он также должен изменить ваш $PATH, чтобы /opt/local/bin предшествовал /usr/bin (именно там живет Apple из коробки Ruby).

IПодозреваю, что когда вы сделали sudo gem install, вы использовали /usr/bin/gem (который является установщиком гемов для /usr/bin/ruby, а не /opt/local/bin/gem (который был бы установщиком для Ruby MacPort).

Проверьте выводecho $PATH, which ruby и which gem, чтобы увидеть, что происходит.

2 голосов
/ 27 мая 2010

Я бы настоятельно рекомендовал использовать RVM (Ruby Version Manager), чтобы отделить Rails 3 от вашего Rails 2. (Один из примеров Rails 2, конфликтующего с Rails 3: когда вы переходите в командную строку для создания приложения Rails, он генерирует приложение Rails 2 или приложение Rails 3? RVM позволяет хранить их отдельно.)

Кроме того, последняя версия Ruby 1.8.7, вероятно, не будет работать с Rails 3, поэтому вы должны использовать более ранний уровень исправления (у меня работает 248). Подробности здесь: http://techiferous.com/2010/02/installing-rails-3-beta-with-rvm-and-ruby-1-8-7/

2 голосов
/ 26 мая 2010

Возможно, у вас установлены две разные версии Ruby. Попробуйте "gem env" или "sudo gem env" и посмотрите, какая версия Ruby там написана.

Удалите старый, если у вас установлено два. Если ничего не помогает, обновите до 1.9.x, я думаю, что это все равно рекомендуется для Rails 3.

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

Исходя из вашего вопроса и ваших ответов на некоторые из ответов, похоже, что вы не используете версию Ruby для MacPorts. Вы должны убедиться, что /opt/local/bin находится перед вашим $PATH, перед /usr/bin. Кроме того, вы должны установить RubyGems через MacPorts (sudo port install rb-rubygems) и убедиться, что вы используете MacPorts gem. Затем установите Rails, используя MacPorts gem.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...