Проблема обновления Rails - PullRequest
1 голос
/ 06 мая 2009

Я использую Tiger и (тупо) решил обновить Rails с 1.1.6 до 1.2.6. Я запустил команду "sudo gem install rails --include-dependencies", и все, казалось, прошло нормально. Однако после установки, когда я запустил команду "rails -v", я получил ошибки, показанные ниже. Может быть, 1.2.6 не совместим с Tiger? Я искал информацию о совместимости в Интернете, но ничего не нашел. Кстати, в отчаянии я попытался вернуться к 1.1.6, но я все еще получаю те же ошибки, так что теперь я не могу. Кто-нибудь может помочь? Спасибо.

/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support.rb:56
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record.rb:25
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:229:in `activate'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:228:in `each'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:228:in `activate'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:213:in `each'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:213:in `activate'
    from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:66:in `active_gem_with_options'
    from /usr/local/lib/ruby/site

Ответы [ 3 ]

3 голосов
/ 06 мая 2009

То, что вы сделали, похоже, что вы прыгнули прямо на рельсы 2.3.2.

Что бы я посоветовал вам сейчас сделать, это сначала обновить все:

sudo gem update --system
sudo gem update

А затем установите версию 1.2.6. Теперь у вас будет 1.1.6, 1.2.6 и 2.3.2

sudo gem install rails -v1.2.6

И, между прочим, какая у вас версия ruby, и используете ли вы ту, которая поставляется Apple? В частности, если вы запустите две следующие команды, вы получите необходимую информацию. (что, безусловно, будет отличаться от моего)

$ ruby --version
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9]
$ which ruby
/opt/local/bin/ruby

И нет, несовместимости с Tiger нет.

0 голосов
/ 30 июля 2009

Вы указываете желаемую версию Gem, устанавливая константу RAILS_GEM_VERSION в верхней части config / environment.rb, например,

RAILS_GEM_VERSION = '2.3.2'

ИЛИ вы можете заморозить Rails вендора / rails. Когда Rails загружает себя из вашего приложения, он сначала просматривает vendor / rails, так что вы можете заморозить желаемую версию там. Но я предпочитаю сам подход RAILS_GEM_VERSION.

0 голосов
/ 30 июля 2009

Я получил эту ошибку, когда (вслепую) следовал указаниям по установке OS X RoR из HiveLogic . Вы ожидаете, что они будут в порядке, потому что Apple ссылается на них. ОДНАКО , двоичные пути, включенные в этот документ, устарели !!!

Специально, RubyGems были 0,9 вместо 1,3. Другие двоичные файлы в списке устарели с неработающими ссылками.

Чтобы устранить проблему, следуйте текущим инструкциям из Ruby on Rails . Вы скачаете и установите правильную версию RubyGems и будете готовы к работе!

Если вы следовали инструкциям HiveLogic, вы можете проверить ВСЕ свои версии.

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