我在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版本 - 取决于您使用的服务器,可以通过不同的方式实现.