09
02/2009

Руби

The English version of this post

Ruby on RailsНу все, понеслась! Хочу неспешно (а может и спешно) освоить Ruby и RoR. Кстати, не нравится мне это сокращение — RoR, поэтому Ruby on Rails.

Mac OS X Leopard идет с предустановленным Ruby, gem и Ruby on Rails. Только с момента появления Леопарда повыходили новые версии Рельсов, проверяя сегодня, я нашел у себя Rails 1.8.6, тогда как недавно вышла версия 2.2.2.

После обновления через gem Рельсы сломались..

$ rails -v
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:379:in `report_activate_error': RubyGem version error: rake(0.7.3 not >= 0.8.3) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:311:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:337:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:336:in `each'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:336:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:65:in `active_gem_with_options'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:50:in `gem'
from /usr/bin/rails:18

Как я выяснил, было из-за устаревшего gem. Методика обновления следующая.

1. Устанавливаем MacPorts.

2. Ставим последнюю версию gem:

sudo port selfupdate
sudo port install rb-rubygems

3. После установки проверяем версию gem:

$ gem -v
1.3.1

Если у вас вывелось 1.0.1, то происходит обращение к старому gem. Исправить это поможет добавление первым пути /opt/local/bin в PATH. После перезапуска терминала должен подхватиться новый gem.

4. Ставим последнюю версию Ruby on Rails:

$ sudo gem update rails
Successfully installed rails-2.2.2

8 Comments_5

"Кстати, не нравится мне это сокращение — RoR"

ага, похоже на LOL

gem update rails --source http://gems.rubyonrails.org

Если юзать - то уже 2.3.0. Как ни странно, но это RC. Релизом, скорее всего, будет 2.3.1 или 2.3.2, но и 2.3.0 для пыток неплох. :)

Не могли бы подсказать что значит

«добавление первым пути /opt/local/bin в PATH»

Заранее благодарен.

В вашей домашней папке есть скрытый файл .bash_profile. В нем строка, примерно такая:

export PATH=/opt/local/bin:/sw/bin:/opt/local/sbin:/Applications/MAMP/bin/php5/bin:/Applications/MAMP/Library/bin:$PATH

Первым в ней нужно поставить

/opt/local/bin
.
Спасибо огромное!

Но я уже по-другому решил проблему с установкой Ruby.

И как? Поделитесь..
Самым простым..

Скачал просто исходник rb-rubygems скомпилровал его через терминал и все заработало, как ни странно. Потом через командную строку обновил Rails.

Здорово!
Оставить comment
Показать другие цифры

В тексте комментария можно использовать теги <b><i><u><s><sup><code><pre>.
Адреса сайтов автоматически становятся ссылками.

_