2009-06-12 80 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"