我的 Gemfile
和 Gemfile.lock
位于 Git
存储库中,如 http://gembundler.com/deploying.html
我使用 'rbconfig'
来防止在 linux 生产服务器上加载 rb-fsevent
但 capistrano 在执行命令 'bundle install'
时失败
我使用带有 require 'bundler/capistrano'
的 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
如何避免这种情况?
最佳答案
我遇到了同样的问题,看起来 bundler 已经 resolved this ,但没有很好的记录。
尝试使用 install_if
和 lambda:
gem 'rb-fsevent', install_if: ->() { `uname` =~ /darwin/i }
关于capistrano - Gemfile.lock 和 gem 的特定平台依赖关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8255761/