2011-11-24 51 views
3

GemfileGemfile.lockGit庫像http://gembundler.com/deploying.htmlGemfile.lock和gem的特定平臺依賴關係?

我用'rbconfig'爲防止Linux的生產服務器上加載rb-fsevent但斯特拉努上執行命令'bundle install'

失敗我使用Capistrano的與要求'bundler/capistrano'

見堆棧跟蹤:

You are trying to install in deployment mode after changing 
Your Gemfile. Run 'bundle install' elsewhere and add the 
Updated Gemfile.lock to version control. 

You have deleted from the Gemfile: 
rb-fsevent 

在我Gemfile

case HOST_OS 
    when /darwin/i 
    gem "rb-fsevent" 
end 

如何避免這種情況?

+1

我覺得這太問題會回答你的問題: [上部署捆紮機錯誤](http://stackoverflow.com/questions/6472785/bundler-錯誤的部署) – joshhepworth

回答

0

在Capistrano上,您可以設置一個選項,如set :bundle_without, [:darwin]在生產中捆綁您的寶石時跳過某些組。

嘗試分配寶石一組:gem "rb-fsevent", group: :darwin在你的Gemfile和本地計算機& &推到遠程倉庫做$ bundle後再試。

2

我有同樣的確切問題,看起來bundler已經是resolved this,但沒有很好的記錄。

嘗試用install_if和拉姆達:

gem 'rb-fsevent', install_if: ->() { `uname` =~ /darwin/i }