RVM и отсутствующие (но установленные) драгоценные камни? - PullRequest
3 голосов
/ 06 мая 2011

Я пытаюсь установить RVM на OSX 10.6.7 и начать использовать его для изолированной среды разработки для каждого проекта, но у меня возникли некоторые проблемы.

Я установил RVM и создал набор гемов для Rails 2.3.11 и убедился, что все необходимые гемы установлены со списком гемов:

actionmailer (2.3.11)
actionpack (2.3.11)
activemodel (3.0.7)
activerecord (3.0.7, 2.3.11)
activeresource (2.3.11)
activesupport (3.0.7, 2.3.11)
acts_as_commentable (3.0.1)
ajaxful_rating (2.2.8.2)
arel (2.0.9)
authlogic (3.0.2)
builder (2.1.2)
geokit (1.5.0)
i18n (0.5.0)
mysql (2.8.1)
rack (1.1.2)
rails (2.3.11)
rake (0.8.7)
rbbcode (0.1.11)
sanitize-url (0.1.4)
tzinfo (0.3.27)
will_paginate (2.3.15)

Но когда я запускаю сервер (скрипт / сервер), я получаю следующую ошибку:

Missing these required gems:   
authlogic  

You're running:    
ruby 1.8.7.334 at /Users/Nick/.rvm/rubies/ruby-1.8.7-p334/bin/ruby 
rubygems 1.6.2 at /Users/Nick/.rvm/gems/ruby-1.8.7-p334, /Users/Nick/.rvm/gems/ruby-1.8.7-p334@global

Run `rake gems:install` to install the missing gems.

Запуск граблей: установка не помогает. «который» дает мне следующие пути:

which ruby         
/Users/Nick/.rvm/rubies/ruby-1.8.7-p334/bin/ruby 
which gem 
/Users/Nick/.rvm/rubies/ruby-1.8.7-p334/bin/gem

Есть идеи, что здесь происходит?

Ответы [ 2 ]

7 голосов
/ 07 мая 2011

Хорошо, я понял это!

Существует новая версия authlogic, которая совместима только с rails 3. Так как новый набор гемов rvm, необходимый для установки authlogic, просто собрал самую последнюю доступную версию.Чтобы исправить это, мне просто нужно было включить правильную версию rails 2 в мой файл environment.rb:

config.gem "authlogic", :version => '2.1.6'

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

0 голосов
/ 06 мая 2011

Тот же сеанс оболочки? RVM может сбить вас с толку, потому что вы можете использовать разные наборы гемов / рубины в разных сеансах оболочки в одном и том же каталоге, поэтому, если вы запускаете сервер во вкладке / окне / сеансе, отличном от того, в котором вы используете which, это может не быть точным.

Также, если вы используете .rvmrc, обратите внимание, что он загружается только тогда, когда вы на самом деле cd в каталог, и только для текущего сеанса оболочки. Если при создании .rvmrc открыт другой сеанс, он не будет автоматически применяться для этого сеанса.

...