我找到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
是不可能的。
答案 0 :(得分:10)
如果您使用的是Bundler,bundle show <gem name>
可以完成您所追求的目标。我会调查非Bundler。
答案 1 :(得分:1)
由于gem
只是Gem::GemRunner
的ruby脚本包装器,并且您希望获得未在默认命令集中实现的功能,我建议您创建自己的Gem::Command。
这非常简单,而且您可以实现任意数量的附加功能。
希望它有所帮助。
答案 2 :(得分:1)
使用以下命令获取库文件的位置非常有用:
$ gem which "gemname"