好吧,我刚刚花了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?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top