Rails недееспособный, требует стойки 1.3.5, имеет 1.4.0, но не может установить 1.3.5 - PullRequest
3 голосов
/ 10 января 2012
$ rails

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in `report_activate_error': RubyGem version error: rack(1.4.0 not ~> 1.3.5) (Gem::LoadError)
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
            from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
            from /usr/bin/rails:18

Тогда я попробую это:

$ sudo gem install rack 1.3.5

Пароль:

Успешно установленная стойка-1.4.0

ОШИБКА: не удалось найти гем 1.3.5 локально или в хранилище

1 драгоценный камень установлен

Установка документации ri для стойки-1.4.0 ...

Невозможно прочитать базу данных termcap;

с использованием настроек тупого терминала.

Установка документации RDoc для rack-1.4.0 ...

потом опять, но по другому:

rails
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.3.5, runtime) for ["actionpack-3.1.3", "rails-3.1.3"], already activated rack-1.4.0 for ["rack-cache-1.1", "actionpack-3.1.3", "rails-3.1.3"] (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
    from /usr/bin/rails:18

Ответы [ 3 ]

8 голосов
/ 11 января 2012

Вы должны установить стойку 1.3.5 и удалить стойку 1.4.0

sudo gem install rack -v 1.3.5
sudo gem uninstall rack -v 1.4.0
1 голос
/ 10 января 2012

Команда для установки определенной версии:

sudo gem install rack --version=1.3.5

То, что вы написали, пытается найти гем под названием 1.3.5

0 голосов
/ 11 января 2012

Я полагаю, это из-за версий стоек с драгоценными камнями.

Дайте команду список драгоценных камней стойки

Она отображает все версии стоечных драгоценных камней, после чего я удалилвсе версии стойки и выполните команду bundle, надеюсь, вы указали, какую версию стойки вы хотите в Gemfile.

Я верю в это, потому что, если вы укажете версию стойки в Gemfile и если gems будет отличаться от версии, превышающей эту, это приведет к ошибке.

Поэтому попробуйте удалить все гемы стойки и запустить bundleкоманда.

Надеюсь, что это может помочь.

...