题
好吧,我刚刚花了4个小时试图弄清楚这一个没有成功。我已经尝试了所有通常的嫌疑人,并一派1.9.1,加载路径,宝石,Mac OS X的,FreeBSD的,虾和其他东西的每个组合。底线是这样的:
当我编译从源ruby1.9.1-P129在Mac OS X 10.5,我得到默认负载路径($ :)是:
ruby -e "puts $:" /usr/local/lib/ruby/gems /usr/local/lib/ruby/site_ruby/1.9.1 /usr/local/lib/ruby/site_ruby/1.9.1/i386-darwin9.7.0 /usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/vendor_ruby/1.9.1 /usr/local/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.7.0 /usr/local/lib/ruby/vendor_ruby /usr/local/lib/ruby/1.9.1 /usr/local/lib/ruby/1.9.1/i386-darwin9.7.0 .
当我安装对虾宝石,例如,我得到:
gem which prawn (checking gem prawn-0.5.0.1 for prawn) /prawn.rb
和当我尝试要求它我得到:
ruby -e "require 'prawn'" -e:1:in `require': no such file to load -- prawn (LoadError) from -e:1:in `'
我已经能够解决这个问题的唯一方法是做这样愚蠢的东西:
$: << "/usr/local/lib/ruby/gems/1.9.1/gems/prawn-0.5.0.1/lib"
其中,当然,是完全荒谬。所以,问题是如何得到1.9.1承认并遵循正确的宝石路径?我从来没有这个问题与1.8.7所以我猜想它1.9.1具体。我觉得我失去了一些东西完全明显的这里和任何帮助,将不胜感激!
解决方案
设置GEM_PATH =的/ usr /本地/ LIB /红宝石/宝石/ 1.9.1
解决了这个问题。我知道这是简单的东西。只是加重了我,花了一整天都弄清楚!这是由于从未具有1.8.7这个问题,当然不是RTFM !!
其他提示
上的kubuntu业力同样的问题。
安装:
$ sudo apt-get install build-essential ruby1.9.1-full libsqlite3 libsqlite3-dev rubygems1.9
$ sudo gem install sqlite3-ruby rails thin --no-rdoc --no-ri
结果:
$ ruby -e "require 'rubygems'; require 'sqlite3'"
-e:1:in `require': no such file to load -- sqlite3 (LoadError)
from -e:1:in `<main>'
溶液:
$ export GEM_PATH=/usr/lib/ruby1.9.1/gems/1.9.1/
require 'rubygems'
require 'prawn'
除非事情在1.9已经改变了,你不再需要的RubyGems需要第一。
你有这样一个问题,接下来的时间,不要忘了在命令行中运行gem env
。这是在Windows上会发生什么,但原理是大致相同的:
C:\Documents and Settings\a.grimm>gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i386-mingw32]
- INSTALLATION DIRECTORY: C:/Ruby19/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: C:/Ruby19/bin/ruby.exe
- EXECUTABLE DIRECTORY: C:/Ruby19/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mingw32
- GEM PATHS:
- C:/Ruby19/lib/ruby/gems/1.9.1
- C:/Documents and Settings/a.grimm/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/
我在寻找一个不同的答案同样的问题。在某些情况下(即,系统启动任务)设置环境变量红宝石运行之前是不可能的。
是否有在运行红宝石(V> = 1.9.1)代码需要宝石某种方式?无需设置GEM_PATH?
不隶属于 StackOverflow