带有vagrant的共享文件夹会导致附加不可见的字符

时间:2013-06-24 23:29:15

标签: character vagrant nfs invisible

我有一些不可见的字符( )出现在javascript文档的末尾,导致FF或Chrome中出现“非法字符”错误。我看到了关于这个错误的不同主题,但没有什么对我有用,我在文档中看不到任何错误(显示不可见的字符,用十六进制编辑器打开它)。这只会让我发疯。 我使用Vagrant和nginx web服务器。该文档在服务器中也很清晰(vi +:set list)。

另外,当我从我的Git存储库中找回一个清晰的文档时,一切正常(正常)。但每次我想编辑它(比如在文档顶部创建一个新变量),我再次遇到这个错误。

如果有人可以帮助我,谢谢你。

2 个答案:

答案 0 :(得分:19)

如果您正在使用VirtualBox提供程序,则VirtualBox共享文件夹是默认的同步文件夹类型。这些同步文件夹使用VirtualBox共享文件夹系统来同步从guest虚拟机到主机的文件更改,反之亦然。

与sendfile相关的VirtualBox bug可能会导致文件损坏或无法更新。您应该在可能正在运行的任何Web服务器中停用sendfile。

在Nginx中:

sendfile off;

在Apache中:

EnableSendfile Off

参见vagrant docs:http://docs.vagrantup.com/v2/synced-folders/virtualbox.html

答案 1 :(得分:7)

您似乎正在使用Vagrant ..请查看您的_Vagrantfile并检查文件在VM文件系统上的写入方式。

cat ~/.vagrant.d/boxes/[YOUR VM NAME]/include/_Vagrantfile

也许您正在使用config.vm.synced_folder尝试使用NFS:

config.vm.synced_folder "/home/myuser/shared", ".", :nfs => true