1

我发现了这个问题,但他特别说没有命令行。好吧,我确实想要命令行。我知道我可以跑

$ 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是不可能的。

4

3 回答 3

10

如果您使用的是 Bundler,bundle show <gem name>请执行您所追求的。我将研究非捆绑器。

于 2013-02-03T18:53:27.557 回答
1

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

这真的很简单,而且您可以根据需要实现任意数量的附加功能。

希望能帮助到你。

于 2013-02-04T07:09:05.520 回答
1

获取库文件的位置很有用:

$ gem which "gemname"
于 2016-05-17T11:24:50.520 回答