有时我会获得新创建的文件,我无法访问,但我可以在控制台中列出它们。我的Vagrant file
包含此synced_folder设置:
config.vm.synced_folder "/home/ulkas/Develop/beauty/Beautyportal", "/vagrant/Beautyportal", owner: "vagrant", group: "vagrant", :mount_options => ['dmode=777', 'fmode=777']
当我在主机和访客中创建/修改文件时,它们就会变得无法访问:
cannot access GuzzleStreamWrapper.php: No such file or directory
什么都没有,我可以在控制台中列出它们,但没有权限(看起来像挂载问题):
vagrant@precise64:/vagrant/Beautyportal/vendor/guzzlehttp/streams/src$ ls -al
ls: cannot access functions.php: No such file or directory
ls: cannot access NoSeekStream.php: No such file or directory
ls: cannot access LazyOpenStream.php: No such file or directory
ls: cannot access MetadataStreamInterface.php: No such file or directory
ls: cannot access StreamInterface.php: No such file or directory
ls: cannot access LimitStream.php: No such file or directory
ls: cannot access AppendStream.php: No such file or directory
ls: cannot access Stream.php: No such file or directory
ls: cannot access CachingStream.php: No such file or directory
ls: cannot access StreamDecoratorTrait.php: No such file or directory
ls: cannot access GuzzleStreamWrapper.php: No such file or directory
total 12
drwxrwxr-x 1 vagrant vagrant 4096 Aug 14 11:33 .
drwxrwxr-x 1 vagrant vagrant 4096 Aug 14 11:33 ..
?????????? ? ? ? ? ? AppendStream.php
?????????? ? ? ? ? ? CachingStream.php
?????????? ? ? ? ? ? functions.php
?????????? ? ? ? ? ? GuzzleStreamWrapper.php
?????????? ? ? ? ? ? LazyOpenStream.php
?????????? ? ? ? ? ? LimitStream.php
?????????? ? ? ? ? ? MetadataStreamInterface.php
?????????? ? ? ? ? ? NoSeekStream.php
?????????? ? ? ? ? ? StreamDecoratorTrait.php
?????????? ? ? ? ? ? StreamInterface.php
?????????? ? ? ? ? ? Stream.php
drwxrwxr-x 1 vagrant vagrant 4096 Aug 14 11:33 .svn
重新启动机器(vagrant reload
)后,文件变得可访问,因此我怀疑安装/重新安装有问题。
这个问题已经出现在linux mint 13主机以及windows 7 64bit主机上。
框是hashicorp/precise64
答案 0 :(得分:0)
我认为我发现了问题,这是由于重复安装 - 默认情况下,vagrant将活动主机目录/home/user/vagranthost
安装到/vagrant
。我所做的是,我将另外的子目录作为/home/user/vagranthost/project
之类的挂载点添加到/vagrant/project
中,从而创建了一个碰撞,流浪者无法识别(尚未)并让它安装。
因此,解决方法是编辑Vagrantfile
并更改行
config.vm.synced_folder "/home/ulkas/Develop/beauty/Beautyportal", "/vagrant/Beautyportal", owner: "vagrant", group: "vagrant", :mount_options => ['dmode=777', 'fmode=777']
进入
config.vm.synced_folder "/home/ulkas/Develop/beauty", "/vagrant", owner: "vagrant", group: "vagrant", :mount_options => ['dmode=775', 'fmode=775']
用于调试,这是在mount
命令的输出之前:
/vagrant on /vagrant type vboxsf (uid=1000,gid=1000,rw)
/vagrant/Beautyportal on /vagrant/Beautyportal type vboxsf (uid=33,gid=1000,rw)