2009-06-12 83 views
1

我刚刚安装了一个宝石,但是当我输入如何获取宝石上可用的命令列表?

gem_name --help 

它说:

'gem_name' is not recognized as an internal or external command 

然而,当我键入

gem list --local 

宝石在列表中显示出来,所以我知道它在那里 - 我只是不知道该怎么看。

是否有不同的指令来找出这个宝石提供的命令?

回答

6

Ruby gems可以选择安装可执行文件。当您运行<gem_name> --help时,通常会运行由该宝石安装的脚本(如果有的话),并将它作为命令行参数传递给--help。按照惯例,大多数带有可执行文件的gem都支持这个参数并输出一些有用的信息,但这不是必需的 - 如前所述,有很多gem根本不安装任何可执行文件。

在这种情况下,您安装的gem看起来似乎没有提供任何脚本(或者至少不提供任何与gem同名的脚本)。正如其他人所建议的那样,寻找宝石的rdoc可能是一个很好的开始;您可以使用gem server命令来提供所有本地gem的rdoc内容。或者,一些宝石在Rubyforge上托管他们的rdoc。

什么是有问题的宝石?

1

宝石在这方面很棘手。他们有时会安装命令(比如rails),而在其他时候只需安装可以被ruby应用程序'需要的代码。最好的方法是在互联网上阅读关于该宝石的文档。

该宝石通常位于/ usr/lib/ruby​​/gems/...等某个位置,您可能想要进入并查看其构成。目前,我建议阅读在线文档。

+0

没有那个意思... – 2009-06-12 01:53:54

+0

只是开个玩笑。得到它的工作。感谢您的建议。 – birton 2009-06-12 02:17:36

2

尝试: gem specification <gem_name>

或者咨询所安装的宝石RDoc文档。

+0

是的,我看到规格输出,它说“rdoc真”。但是,当我去看rdoc时,我输入rdoc 然后它说File not found:。我做错了吗? – birton 2009-06-12 00:24:59

0

正如其他答案所述,通过gem命令没有直接的方法来做到这一点。除了gem rdocs(您可以使用“gem server”或使用bdoc - 我的首选项)查看gem rdocs外,还可以查看位于gem bin文件夹中的文件的内容。

gem contents somegem | grep "^bin"