2009-06-27 127 views
4

好的,我刚刚花了4个小时试图找出没有成功这一个。我已经尝试了所有常见的嫌疑,并搜索了Ruby 1.9.1,加载路径,宝石,mac os x,freebsd,prawn和其他东西的各种组合。底线是这样的:红宝石1.9.1加载路径疯狂

当我在Mac OS X 10.5,默认加载路径($ :)我得到源代码编译ruby1.9.1-P129是:

 
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" 

当然,这是完全荒谬的。所以问题是如何让Ruby 1.9.1识别并遵循正确的宝石路径?我从来没有在1.8.7版本中遇到这个问题,所以我假设它是1.9.1。我觉得我错过了一些完全明显的东西,任何帮助将非常感谢!

+1

作为此问题的更新,[RVM](http://rvm.beginrescueend.com)正在迅速成为最受欢迎的安装方式许多开发人员在Mac OS和Linux上增加了Rubies。在安装RVM之前,滚动到该页面的底部并阅读“安装”和“Ruby Gems”页面。安装完成后,使用`rvm notes`来找出你需要的依赖关系。 – 2011-03-19 21:10:58

回答

9

设置GEM_PATH =的/ usr /本地/ LIB /红宝石/宝石/ 1.9.1

解决了这个问题。我知道这很简单。只是加重了我,它花了全天计算出来!这是因为从来没有1.8.7这个问题,当然不是RTFM!

+0

很高兴你解决了它! – 2009-06-28 02:52:09

1
require 'rubygems' 
require 'prawn' 

除非事情在1.9中改变了,你不再需要首先要求rubygems。

+1

红宝石1。9不再需要(双关语)rubygems,但只是为了彻底我尝试,以及没有成功 – ennuikiller 2009-06-28 01:54:16

3

kubuntu karmic上的同样的问题。

安装:

$ 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/ 
0

我正在寻找一个不同的答案同样的问题。在某些情况下(即系统启动任务),在ruby运行之前设置环境变量是不可能的。

运行ruby(v> = 1.9.1)代码是否需要gem?没有设置GEM_PATH?

+0

正如原始问题中所述,您可以将所需的gem路径推送到$: – ennuikiller 2010-09-22 12:38:40

1

下一次您遇到这样的问题时,请不要忘记从命令行运行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/