2013-03-05 36 views
0

我在GCC上使用了-L来指定其他搜索根目录。然后GCC将搜索目录以及默认的系统搜索目录。为Ruby需求添加搜索根路径(相当于GCC -L)

我觉得Ruby require只搜索系统的gem安装目录。当我使用ruby -I <path>时,它似乎只在指定的目录中查找,并排除了系统gem安装目录。

它很简单,干净,但我希望它使用系统宝石目录和其他搜索目录。就像GCC -L参数一样。有没有这样做的选择?或者我有系统gem目录的便捷别名,可以在系统上移植吗?

或者我应该在本地项目中安装预期的宝石?我期待着,我该怎么做?

+1

'-I'会将指定的路径添加到加载路径,使用它不应排除系统路径。你有没有一个你想要做什么的例子? – matt 2013-03-05 02:00:53

+0

@matt你是对的。我确认'-I'与GCC'-L'参数的工作方式相同。我不知道为什么我认为这是不同的,但我认为这可能是因为我使用了一些错误的配置。 – Eonil 2013-03-05 04:43:20

回答

2

很简单。要将目录添加到Ruby路径,请在执行任何要求之前执行此操作:

$: << '/path/to/gem/dir' 
+0

哦。我可以对'$:'进行一些解释吗?用字母搜索某些东西非常困难。 – Eonil 2013-03-05 02:00:33

+1

@Eonil:$:是ruby将搜索库的路径数组 – Linuxios 2013-03-05 02:02:12

+0

'$:'相当于'$ LOAD_PATH',这有点少混淆。 – 2013-03-05 03:02:35