2012-04-12 56 views
6

我明白,一个路径添加到$ LOAD_PATH只是做

$LOAD_PATH.unshift(path) 

但是我不得不将此行添加到每个程序我写的。无论如何将它添加到系统级别?

我试图在Ruby的启动脚本上搜索一下,但没有找到答案。我试图将此行添加到kernel/common/module.rb,ruby_constants.rb,loader.rb等。但都不起作用。

我应该在哪个文件中添加此行?


更新:

我使用Ubuntu 10.04和Rubinius的。没有系统变量叫做RUBYLIB

尝试创建一个,但没有工作。但是我意识到我犯了一个错误,忘记在bash脚本.bashrc中添加变量。添加变量后,它一切正常!

回答

7

RUBYLIB环境变量是一个以冒号分隔的路径列表,其中ruby会预先支持标准的LOAD_PATH。命令行上的ruby -I path也与代码中的$LOAD_PATH.unshift 'path'相同。 Ruby还将处理来自环境var RUBYOPT的选项。

+0

我以为他们在1.9之后移除了RUBYLIB?我正在使用Rubinius,但没有找到RUBYLIB。和红宝石 - 我也很讨厌 – texasbruce 2012-04-12 04:23:55

+0

RUBYLIB在我的红宝石1.9s工作 – dbenhur 2012-04-12 04:49:56

+0

我只是双重检查。没有RUBYLIB或RUBYOPT env var。我使用的是Ubuntu 10.04和Rubinius 2.0。我也尝试添加一个系统变量,但它不起作用。 – texasbruce 2012-04-12 04:53:25

2
$ export RUBYLIB=/tmp/test 
$ irb 
ruby-1.9.2-p290 :001 > puts $LOAD_PATH 
/tmp/test 
...