2011-02-04 65 views
0

我是新來的紅寶石的寶石,我想知道..如果我使用API​​從紅寶石寶石寫一個劇本,然後我導出腳本到服務器,它在那裏跑,我將不得不安裝服務器上的寶石?是否有我知道的方法將它捆綁到我剛剛運行的1個文件中? (就像一個Java JAR)紅寶石..出口到服務器?

回答

2

只需提供您的寶石在你的寶石文件中,那麼當你部署和服務器上運行bundle install將讓所有的依賴關係,包括你的寶石

1

捆紮機安裝你的寶石給你,但它不會在你的腳本中包含寶石。 如果你沒有很多依賴,你可以嘗試簡單的解包寶石到一個文件夾,您有權要求按照你的相對路徑的寶石,主要的問題是,如果你的一些寶石需要編譯本地代碼(如角度來說,Hpricot)。 使用

gem unpack GEMNAME 

到腳本文件夾,然後找到主文件,要求在你的代碼(usualy在一個lib direcotory進入解包寶石)。 這個工作很容易,只適用於沒有鏈依賴關係的簡單寶石。

2

bundle package將您的所有寶石包裝到您的rails應用程序。

+0

這使得滑軌的假設OP沒有狀態。 – 2011-02-05 04:15:56

0

我通常只是在我的應用程序中創建一個供應商目錄,並在那裏提取你的寶石。 gem unpack gem_name會爲你做,或者你可以使用Rails的rake gem:unpack GEM=gem_name

捆紮機是另一個偉大的解決方案,但如果你只是想快速和骯髒的解決方案,然後只要解寶石到您的應用程序,並用它做。