命令行获取gem的路径

时间:2013-02-03 18:50:27

标签: ruby rubygems gem

我找到this question,但他特意说没有命令行。好吧,我确实想要命令行。我看到我可以跑了

$ gem which jekyll
/usr/lib/ruby/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll.rb

但我更喜欢像

这样的东西
$ foo jekyll
/usr/lib/ruby/gems/1.9.1/gems/jekyll-0.12.0

其中foo是神秘命令。如果需要,我可以解析gem which,但更喜欢更优雅的东西。请注意,bundle是不可能的。

3 个答案:

答案 0 :(得分:10)

如果您使用的是Bundler,bundle show <gem name>可以完成您所追求的目标。我会调查非Bundler。

答案 1 :(得分:1)

由于gem只是Gem::GemRunner的ruby脚本包装器,并且您希望获得未在默认命令集中实现的功能,我建议您创建自己的Gem::Command

这非常简单,而且您可以实现任意数量的附加功能。

希望它有所帮助。

答案 2 :(得分:1)

使用以下命令获取库文件的位置非常有用:

$ gem which "gemname"