2014-11-20 27 views
11

Tarayıcıda web uygulamasının yeniden yüklenmesini tetiklemek için Grunt watch (grunt-contrib-watch) kullanılır. Ancak, senkronize edilen klasörler için NFS kullanan bir Vagrant sanal makinesinde çalışırken dosya değişikliklerini fark etmek yavaştır. Bir dosyayı değiştirmek, neredeyse anında gerçekleşmesi beklense de, yaklaşık 5 saniye sonra yeniden yüklemeyi tetikler. Grunt neden değişiklik tespit etmek için bu kadar yavaş? Daha hızlı yapmanın bir yolu var mı?Grunt watch, dosya değişimini sadece 5 saniye sonra algılar. Vagrant ve NFS

VirtualBox ile eşzamanlı klasörler izlenirken grunt saat hemen hemen anında dosya değişikliklerini algılar. Bununla birlikte, VirtualBox senkronize edilmiş klasörler, büyük miktardaki dosyalar üzerindeki diğer işlemler için kabul edilemez derecede yavaş olduğundan, maalesef bu duruma geri dönmek için bir seçenek değildir.

+0

NFS w/Vagrant kullanırken aynı sorunu yaşadım. Sonunda Samba kullanmaya karar verdim ve şimdi Grunt dosya değişikliklerini neredeyse anında tespit ediyor. Burada, Samba'yı Vagrant kutusunun üzerine kurmak için kullanışlı bir kılavuz: http://www.kieronhoward.co.uk/vagrant-windows-improve-slow-performance-using-smb-instead-nfs/ – nanook

+0

Bu sorunu yaşadığımda, ctrl + c 'yi bulup tekrar homurdanmak daha hızlıdır - ama çoğu değişiklik için beklemek iyidir. – ArleyM

cevap

22

bu senin Vagrantfile seçenekleri monte deneyin:

type: "nfs", mount_options: ['actimeo=1']

Bu büyük ölçüde NFS dosya özniteliği önbelleğe alma zaman aşımı azaltacaktır. Benzer sorunları yaşadım, ganimet ve Django sunucusunun yeniden yüklenmesini beklerken Vagrant/NFS ile büyük gecikmeler gördüm. Bu düzeltildi; dosya değişiklikleri anında algılanıyor.

+3

Teşekkürler, bu soruyu yazdıktan sonra bağımsız olarak geldiğim aynı çözüm. Umarım diğerleri bunu hata ayıklamak için fazla zaman harcamak zorunda kalmaz. –

+0

Vagrant dosyasının hangi satırı/noktasını eklemem gerekir? – realtebo

+1

@realtebo config.vm.synced_folder "./", "/ vagrant", tür: "nfs", mount_options: ['actimeo = 1'] – Strake