Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby RVM红宝石如何找到宝石?_Ruby_Macos_Rubygems_Gem_Rvm - Fatal编程技术网

Ruby RVM红宝石如何找到宝石?

Ruby RVM红宝石如何找到宝石?,ruby,macos,rubygems,gem,rvm,Ruby,Macos,Rubygems,Gem,Rvm,我在MacOSX(10.9.2)上的RVM下使用Ruby1.8.6。我以本地用户(不是root用户)的身份安装了所有内容,然后使用以下方式安装了gem: gem install gli -v 1.6 当我使用require('gli')运行ruby时,我得到了错误: in `require': no such file to load -- gli (LoadError) 即使gem列表显示gli(1.6.0) 我不知道RVM是如何使用它的gemset的,但是$LOAD\u PATH中的任何

我在MacOSX(10.9.2)上的RVM下使用Ruby1.8.6。我以本地用户(不是root用户)的身份安装了所有内容,然后使用以下方式安装了gem:

gem install gli -v 1.6
当我使用
require('gli')
运行ruby时,我得到了错误:

in `require': no such file to load -- gli (LoadError)
即使
gem列表
显示
gli(1.6.0)

我不知道RVM是如何使用它的gemset的,但是
$LOAD\u PATH
中的任何目录中都没有
gli.rb
文件


RVM如何与
$LOAD\u路径
交互以在gems集中找到必要的gems?

尝试在源文件顶部添加
要求的“rubygems”
。在1.8中,默认情况下不需要rubygems

因此,关于gem路径:

GEM_HOME
指示GEM的安装位置。要了解您的情况,请执行以下操作:

$ echo $GEM_HOME

这应该会显示一个与RVM相关的路径,因为RVM会更改此环境变量,以使
$gem install
命令在其目录中安装gems。

您确定要使用随RVM一起安装的ruby吗?非常确定
ruby--version
是1.8.6,我的系统ruby是2.0.0。什么是
$哪个ruby
输出?
~/.rvm/ruby/ruby-1.8.6-p420/bin/ruby
不应该rvm然后将
$GEM\u HOME
添加到ruby
$LOAD\u路径
?否则ruby怎么知道在哪里可以找到安装的gems呢
$LOAD_PATH
$GEM_HOME
是两个不同的东西,它们都是由您安装的每个ruby设置的,无论是来自RVM还是系统ruby。因此,我应该在调用ruby时手动将$GEM_HOME添加到加载路径中(例如,ruby-I“$GEM_HOME”script.rb)?在您的文件顶部添加一个
require'rubygems'
。这似乎是Ruby 1.8的一个特定要求:注意:对于Ruby 1.8,在需要任何gems()之前,您必须需要'rubygems'。