虽然安装了红宝石宝石但未找到

Eim*_*tas 22 ruby rubygems

我在SO上发现了一些类似的问题,但似乎没有一个与我的情况相符(对不起,如果我忽略了).这是我的问题:我在ruby gems目录中安装了oauth-plugin gem,但是尝试在rails应用程序中使用它告诉我它没有找到.这是相关命令的输出:

安装

% 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...
Run Code Online (Sandbox Code Playgroud)

gem which oauth-plugin 输出:

% gem which oauth-plugin
/usr/lib/ruby/gems/1.8/gems/oauth-plugin-0.3.14/lib/oauth-plugin.rb
Run Code Online (Sandbox Code Playgroud)

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/
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

并且有问题的宝石位于预定位置.

这是我尝试运行时rails给我的错误 $ 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.
Run Code Online (Sandbox Code Playgroud)

这不是rubygems找不到的单个gem(虽然它位于它应该的位置).非常感谢对该解决方案的任何指导.

Slo*_*vic 24

您安装了两个不同版本的Ruby.首先是:

在/ usr/bin中/红宝石

第二个是:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

问题是在命令行中使用一个(即安装gems),Web服务器使用另一个来运行Rails.

由于您的Web服务器使用的是第二个Ruby版本,因此一个解决方案是使用该Ruby版本安装gem.或者,您可以告诉您的Web服务器使用不同的Ruby版本 - 取决于您使用的服务器,可以通过不同的方式实现.