Ruby RVM红宝石如何找到宝石?
我在MacOSX(10.9.2)上的RVM下使用Ruby1.8.6。我以本地用户(不是root用户)的身份安装了所有内容,然后使用以下方式安装了gem: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中的任何
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'。