2010-11-12 57 views
0

我需要獲取給定ruby gem的安裝路徑,並且找不到有關如何執行此操作的任何信息。鑑於:從紅寶石腳本中訪問有關rubygem的信息

#!/usr/bin/env ruby 
require 'rubygems' 
require 'somegem' 

我怎樣才能找出的somegem安裝路徑是系統(在不訴諸system(gem ...)有問題的寶石帶有一些圖標,我想在我的腳本以引用

感謝Chris我現在有以下組合:

require 'rubygems/Commands/contents_command' 
c = Gem::Commands::ContentsCommand.new 
c.options[:args] = 'somegem' 
c.execute 

然而,c.execute立即輸出在標準輸出結果如何能趕上,在作進一步處理的變量? 210不起作用。

回答

0

你有不同的方式來實現這一目標:

Gem.source_index.find_name('somegem').last.full_gem_path 

你也可以只用grep你的負載路徑:

$:.grep /somegem/ 
+0

感謝,該Gem.source_index方法正是我需要的。 – jhwist 2010-11-12 20:03:42