Я нашел некоторые подобные проблемы здесь на Так, но ни один, кажется, не соответствует моему случаю (извините, если я пропустил). Вот моя проблема: Я установил сменный OAuth драгоценный камень на рубиновом dir драгоценных камней, но пытающийся использовать это в приложении для направляющих говорит мне, что это не находится. Вот вывод соответствующих команд:
Установка
% s gem install oauth-plugin
Successfully installed oauth-plugin-0.3.14
1 gem installed
Installing ri documentation for oauth-plugin-0.3.14...
Installing RDoc documentation for oauth-plugin-0.3.14...
gem which oauth-plugin
вывод:
% gem which oauth-plugin
/usr/lib/ruby/gems/1.8/gems/oauth-plugin-0.3.14/lib/oauth-plugin.rb
gem env
вывод:
% gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.6
- RUBY VERSION: 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-10
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /Users/eimantas/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => true
- :bulk_threshold => 1000
- :gem => ["--no-ri", "--no-rdoc"]
- :sources => ["http://gems.ruby.lt/", "http://rubygems.org/"]
- REMOTE SOURCES:
- http://gems.ruby.lt/
- http://rubygems.org/
Выполнение ls -l /usr/lib/ruby
шоу это:
% ls -l /usr/lib/ruby
lrwxr-xr-x 1 root wheel 76 Aug 14 2009 /usr/lib/ruby -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby
И рассматриваемый драгоценный камень находится в намеченном месте.
Вот ошибка, которую направляющие дают мне, когда я пытаюсь работать $ rake spec
Missing these required gems:
oauth-plugin = 0.3.14
You're running:
ruby 1.8.7.173 at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
rubygems 1.3.6 at /Users/eimantas/.gem/ruby/1.8, /Library/Ruby/Gems/1.8, /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
Run `rake gems:install` to install the missing gems.
Это не ни один драгоценный камень, который не находится rubygems (хотя он расположен, где это должно быть). Любое руководство к решению очень ценится.
У вас установлены две разные версии Ruby. Первая находится в:
/usr/bin/ruby
и вторая в:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Проблема в том, что одна используется в командной строке (т.е. для установки gems), а другая используется веб-сервером для запуска Rails.
Поскольку ваш веб-сервер использует вторую версию Ruby, решением будет установить gem, используя эту версию Ruby. В качестве альтернативы, вы можете указать вашему веб-серверу использовать другую версию Ruby - в зависимости от того, какой сервер вы используете, это может быть достигнуто различными способами.
Вы ранее установили oauth?
gem install oauth
Кажется, он нужен
EDIT:
На вашем
gem env
есть
RUBY VERSION: 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0]
Но если вы посмотрите на ошибку, она говорит, что вы запускаете
ruby 1.8.7.173
Вы указываете на разные версии ruby?
Перво-наперво: есть ли у вас строка config.gem 'oauth-plugin'
в вашем файле config / environment.rb
?
Если да, попробуйте запустить скрипт / консоль
и введите system ("gem which oauth-plugin")
Возможно, ваш путь к гемам перепутан изнутри вашего приложения rails. Приведенная выше команда должна сказать вам, действительно ли драгоценный камень находят по рельсам.
Если он не найден, попробуйте system ("gem env")
из скрипта / консоли
и посмотрите, не выпрыгнет ли что-нибудь на вас. Это должно помочь с отладкой.