簡體   English   中英

保存在主機上時,文件不會在vagrant中更新?

[英]Files don't update in vagrant when saved on host computer?

我正在使用Vagrant作為Rails開發環境。 我只使用主機來編輯崇高文本中的文件(即Ruby,Rails,Postgres和Nginx都在流浪者vm上)。

問題是如果我對文件進行少量更改(1-3個字符),刷新瀏覽器不會立即顯示更新。 我必須重新啟動nginx或添加一些空行並再次保存以查看更新。

可能是什么導致了這個? 我已經嘗試過陽光下的一切來解決這個問題。

這是我的流浪文件:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "xyz.box"
  config.vm.box_url = "http://domain.com/xyz.box"

  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.synced_folder ".", "/vagrant", :nfs => true

  config.vm.provider "virtualbox" do |vb|
    vb.customize [
      "modifyvm", :id,
      "--memory", "1024",
      "--natdnsproxy1", "on",
      "--natdnshostresolver1", "on"
    ]
  end
end

我使用的是Mac OS X並使用Virtual Box作為提供程序。 流浪盒是Ubuntu 14.04。

事實證明問題是Sublime Text的默認“原子保存”功能正在創建此問題。

將以下內容添加到Sublime Text首選項文件將解決此問題:

"atomic_save": false

這是Apache和nginx與Virtualbox的已知問題 - 所以也是流浪漢( @see this vagrant issue )。 sendfile內核模式不會在共享磁盤文件夾上刷新。

要修復它,請在nginx配置上使用:

sendfile off

你試過“rsync”選項嗎? 它應該不難設置,應該更可靠。

config.vm.synced_folder ".", "/vagrant", type: "rsync"

Vagrant 1.5提供此功能。

https://www.vagrantup.com/blog/feature-preview-vagrant-1-5-rsync.html

就像雅各布說的那樣,關掉原子保存。 我想補充一點,這是一個非常危險和危險的功能。 如果你是一個崇高的文本3用戶,你應該做的第一件事是關閉它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM