2009-08-25 67 views
4

我还没有整天的训练来解决这个问题,但我不能。(...):没有这样的文件要加载 - 'gemname'(LoadError)

的问题是容易的,我不希望把了的要求“RubyGems的”行,每次我需要一个宝石...

如果我把需要“RubyGems的”在任何其他“要求“该文件运行完美,但如果我不把要求的'rubygems'行发生以下错误:

(...)in`require':no such file to load - 'gemname'(LoadError)

我怀疑可能是有一些路径,在哪里检查出宝石库。

我想问你是否有办法做到这一点。

非常感谢。

干杯, 胡安。

+0

Ryan Tomayko已经报道了这个话题http://gist.github.com/54177 – 2009-08-25 19:03:00

+0

我忘了提及我在窗户xp – flyer88 2009-08-26 12:31:49

回答

18

你可以调用你的Ruby脚本与

ruby -rubygems script.rb 

或添加了RubyGems到RUBYOPT

$ export RUBYOPT="rubygems" 
+0

嗨,彼得。我已经阅读了invoke -rubygems解决方案,但在我以前的安装中,我可以运行任何脚本,而无需使用switch/parametre。我以前的安装是与当前版本相同的版本,不同之处在于,实际上我有问题是谁发起了这个主题/问题。我尝试第二种解决方案,但我认为它不适用于Windows ...任何其他解决方案? – flyer88 2009-08-26 12:41:04

+0

roddik的回答有帮助吗? – 2009-08-26 13:13:16

+0

是的彼得,再次感谢.- – flyer88 2009-08-27 12:25:08

3

在Unix中,您可以:

$ RUBYOPT="rubygems" 
$ export RUBYOPT 
$ ruby juans_masterpiece.rb 

,并在Windows:

SET RUBYOPT=rubygems 

或右键单击我的电脑 - >属性 - >高级 - >环境变量 ,最后在那里添加RUBYOPT变量。下一次您打开一个cmd.exe运行set,它将在那里。

+0

在Windows中有类似的东西?我在win xp sp3中运行ruby 1.8。非常感谢 – flyer88 2009-08-26 12:30:39

+0

SET RUBYOPT = ruby​​gems – 2009-08-26 18:54:33

+0

非常感谢你的工作 – flyer88 2009-08-27 12:24:22

2

你不必每次都需要一颗宝石就可以了 - 你只需要在第一次使用宝石之前就拥有它。当你需要Rubygems的时候,它会用一个特殊的需求来替代默认的需求,这个特殊的需求就是所有Rubygems的魔力。

但那只是1.8。您不必在Ruby 1.9中要求Rubygems - 只要您不依赖于1.8特定的东西,那么这是一个非常简单的解决方案。

0

用鼠标右键单击计算机图标,然后选择属性,然后其他系统参数,然后环境变量,有一个用于更改opts的GUI,单击创建,将名称和值,确定。这是你如何做到这一点在Windows 7近似翻译,如果你找不到的地方尽量谷歌为“不断变化的环境变量{您的Windows版本在这里}”

+0

非常感谢!这工作! – flyer88 2009-08-27 12:23:26

+0

哦,但是,当我重新启动VARIABLE不再是Windows了...有些方法使变量重新启动证明? – flyer88 2009-08-27 15:49:38

+0

是否将变量添加到用户变量(上部列表)或系统变量? – Fluffy 2009-08-28 07:21:58

5

require 'rubygems' 

作为你的红宝石代码的第一行,并且是安全的。 当然你可以用-rubygems开关(如Peter Krenn写的)来代替它

相关问题