让Vagrant支持在Windows的同步共享文件中建立软连接

samba在windows下竟然比nfs快不少倍(这太不科学了,windows的nfs是否是故意作得这么垃圾),并且很是稳定,推荐用samba代替nfs,samba解决了开发环境问题,哈哈哈哈哈哈哈,2015年11月2日 19:43:42 updated

唉,我放弃了,使用这种方法symfony仍旧会报没法建立软连接错误,滚回nfs,卡就卡点吧 2015年10月29日 21:34:08 updated

咱们在Web开发时都碰到会须要使用软连接状况,好比使用npm、symfony2等等,Windows下若是不能建立软连接,即便有Vagrant,开发时也是很郁闷的,我以前是挂了个nfs出来解决,惋惜缺点是速度实在慢,就这么忍受了很久,今天才发现实际上是可经过配置实现软连接的,因而分享出来。linux

程序版本:
Vagrant 1.7.4
VirtualBox 5.0.2npm

第一步,使用Windows的Admin权限启动一个terminal:
图片描述ubuntu

第二步,在Vagrantfile文件中加配置(配置文件见文末):
图片描述
而后在第一步的terminal里经过vagrant up启动这一步里被配置的box。windows

第三步,测试是否能够建立软连接:
图片描述
不过硬连接是不行的(谁知道怎么实现?),还好大部分项目都不须要用到硬连接:
图片描述ruby

第四步,测试建立个Symfony项目:
图片描述
OK
图片描述ide

附上文本形式的配置:测试

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.box = "symfony2.7"
    config.vm.box_url = "symfony2.7.2-ubuntu64.box"
    config.vm.network "private_network", ip: "33.33.33.100"
    config.vm.synced_folder ".", "/vagrant",
        :nfs => (RUBY_PLATFORM =~ /linux/ or RUBY_PLATFORM =~ /darwin/)

    config.vm.provider "virtualbox" do |v|
        v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
    end

    # config.vm.provision :puppet do |puppet|
    #     puppet.manifests_path = "puppet/manifests"
    #     puppet.module_path = "puppet/modules"
    #     puppet.options = ['--verbose']
    # end
end
相关文章
相关标签/搜索