2010-03-25 32 views
2

幫助!我需要捆綁寶石否則公佈客戶的網站將留死角如何在Rails中捆綁寶石?

MacBook-Pros-MacBook-Pro:pn 
macbookpro$ sudo ruby script/generate sanitize 
Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed. 
+1

您是否按照以下說明操作? – 2010-03-25 10:50:40

回答

8

您可以在機器上的消息告訴你手動安裝的寶石,但因爲你是問如何捆綁的寶石,這就是可能不是你要找的東西。

捆綁Rails的寶石在已安裝寶石機器(可能是你的開發機)在以下方面:

rake rails:freeze:gems 

這將解開Rails的寶石爲供應商/軌道。那麼這是一個添加和提交寶石的問題。

凍結/供應商的所有應用程序所需的寶石(如在environment.rb中定義):

rake gems:unpack:dependencies 

如果你使用的寶石一樣,包含了需要被編譯爲它的運行環境中的代碼引入nokogiri上,你必須多一點。在出售之後,運行

rake gems:build 

並且應該爲您做。請注意,最後一步需要在需要運行應用程序的機器上運行 - 在這種情況下,您不能只依靠本地進行操作,並像使用純Ruby Ruby一樣提交更改。

有關更多詳細信息,請參見http://reborg.tumblr.com/post/99668398/rails-gems-unpack-native

+0

謝謝您的回答,這個作品中,創業板目前存在於/供應商/寶石 但是當我嘗試它引入nokogiri寶石,它返回: 'gem_original_require':沒有這樣的文件來加載 - 引入nokogiri /引入nokogiri(MissingSourceFile) 我做到了由: 創業板安裝引入nokogiri 耙導軌:凍結創業板=引入nokogiri 然後, 寶石卸載引入nokogiri(測試一下,如果Rails應用程序可以使用冷凍的寶石) 這難道不是與引入nokogiri工作? – jaycode 2010-03-25 11:46:25

+0

我添加了一些解釋,說明它如何與Nokogiri等寶石一起使用。 – 2010-03-25 13:28:45