拥有RubyGems:内部路径

时间:2013-02-05 10:25:28

标签: ruby path rubygems gem

我实际上是在编写自己的RubyGem。

如何获取RubyGem的路径,即需要?

require "./mygeminternally.rb"
# => the path (actually "./") must be the path to the internals of the gem while it is being compiled

只是Dir.getwd吗?我需要一个方法,为我带来gem的路径,以便我可以使用内部模板。请注意,在编译gem时必须访问模板或配置文件,选择正确的路径是否可以轻松实现?

此致,

Joern

1 个答案:

答案 0 :(得分:1)

在gem中,你应该始终使用相对于lib目录的路径,并且永远不要尝试评估绝对路径,因为这会在某些边缘情况下引起问题。

当我说lib时,我实际上是指在require_paths文件中添加到.gemspec的其中一个目录,但在几乎所有情况下,这都设置为['lib']

RubyGems Guide中详细描述了这一点(正如@ an4rco在评论中提到的那样 - 给他一个upvote)。