2013-03-02 50 views

回答

1

廚師可以在node["languages"]["ruby"]["bin_dir"]中找到rubygems創建可執行文件的目錄。因此,您應該從不改變食譜中的這些路徑的硬編碼。

至於您的確切問題:在Ruby> = 1.9.1和< 2.0.0中,rubygems將gem安裝到1.9.1目錄中以表示其使用1.9.1 ABI。目的是編譯的寶石可以在使用ABI的不同ruby版本之間互換使用。然而,在實踐中,這變得更加困難...

Ruby 2.0.0使用2.0.0目錄。同樣,你不應該硬編碼路徑,而是使用節點屬性(OHAI使用rubygem自己的設施設置)。

+0

感謝您對我的問題的具體答案,以及一些背景故事! – Brandon 2013-03-03 00:36:15

+0

如果我在廚師食譜中安裝了新的系統紅寶石,這個路徑是否會更新,以便我可以使用'gem_package'來安裝新寶石的gem? @iain @holger只是 – Brandon 2013-03-03 00:37:06

+0

如果你改變紅寶石與廚師跑的開始相比,你必須使用'ohai'資源來重新加載信息。另外,在安裝任何其他gem之前,您應該確保這樣做,以確保一致的安裝目標。 – 2013-03-03 09:59:55

0

您可以隨時使用:

$ gem env gemdir 

$ gem env gempath 

讓你的寶石目錄。

相關問題