Как установить Ruby on Rails 3 на OSX?
У меня есть White 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!
Ответы
Ответ 1
Сначала вам нужно установить 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
Возможно, вам придется установить некоторые зависимости от gem до того, как Rails установит.
Ответ 2
Чтобы легко настроить Rails 3 на osx-машине, вам нужно только следовать этому блестящему (как всегда) Railscast, здесь для транскрипции
Вы также можете просмотреть комментарии для проверки проблем и, в конечном итоге, решений.
Ответ 3
Возможно, у вас есть две разные версии Ruby. Попробуйте "gem env" или "sudo gem env" и посмотрите, какая версия Ruby говорит, что у вас есть.
Удалите старый, если у вас есть два установленных. Если все остальное не удается, обновите до 1.9.x, я считаю, что это рекомендуется для Rails 3 в любом случае.
Ответ 4
Я настоятельно рекомендую использовать 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/
Ответ 5
Вы должны использовать rvm
, как говорили другие, для управления несколькими установками камней Ruby и Ruby. (Если вы пойдете так, найдите время, чтобы внимательно прочитать rvm
documentation.)
Тем не менее, вам также должно быть удобно узнать, какую версию Ruby ваша оболочка видит по умолчанию и почему. Мне кажется, что ваша переменная $PATH
может быть неправильно обновлена. Переменная $PATH
- это то, что определяет, какой интерпретатор Ruby или команда gem
является первой, если у вас установлено более одного (как вы сейчас это делаете). MacPorts по умолчанию установит новые двоичные файлы в /opt/local/bin
, и он также должен изменить ваш $PATH
, чтобы /opt/local/bin
предшествовал /usr/bin
(где Apple из коробки Ruby живет).
Я подозреваю, что когда вы делали sudo gem install
, вы использовали /usr/bin/gem
(который является установщиком gem для /usr/bin/ruby
, а не /opt/local/bin/gem
(который будет установщиком для MacPort Ruby).
Проверьте вывод echo $PATH
, which ruby
и which gem
, чтобы узнать, что происходит.
Ответ 6
Основываясь на вашем вопросе и ответах на некоторые из ответов, похоже, что вы не используете версию Ruby для MacPorts. Вы должны убедиться, что /opt/local/bin
находится перед вашим $PATH
, перед /usr/bin
. Кроме того, вы должны установить RubyGems через MacPorts (sudo port install rb-rubygems
) и убедиться, что вы используете MacPorts gem
. Затем установите Rails с помощью MacPorts gem
.
Ответ 7
Вы действительно должны использовать 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