2014-09-15 2 views
2

Мы используем бродягу в нашей команде, чтобы мы могли создавать одинаковые среды разработки. Хотя он отлично работает большую часть времени, мы сталкиваемся с некоторыми проблемами, специфичными для ОС хоста, будь то OS X или Windows, например. при использовании синхронизированных папок необходимо изменить параметры nfs => false, :nfs_version => 3.Single Vagrantfile для OS X и Windows

Есть ли рекомендуемый способ справиться с этим? Должен ли Vagrantfile сначала определять среду хоста, а затем действовать соответственно? Поскольку мы используем его все больше и больше, я не хочу случаев, когда у одного разработчика есть проблемы, характерные для Vagrant/Windows, и поэтому изменяет Vagrantfile, подталкивает его изменения, а затем разработанный на OS X вытягивает этот измененный Vagrantfile, и он не работать правильно, так что он вносит изменения, имеющие отношение к его системе и т.д.

ответ

5

Vagrantfile просто рубин, так что вы можете легко вставить условие, которое зависит от ОС хоста:

Vagrant.configure("2") do |config| 
    # ... 

    if RUBY_PLATFORM =~ /darwin/ 
    config.vm.synced_folder ".", "/vagrant", type: "nfs" 
    else 
    # ... 
    end 
end 
+0

мы должны быть обеспокоены 'RUBY_VERSION 'на JRuby? Имеет ли/будет/будет бродяга когда-либо работать на JRuby? – bonh

Смежные вопросы