让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出来解决,可惜缺点是速度实在慢,就这么忍受了好久,今天才发现其实是可通过配置实现软链接的,于是分享出来。

程序版本:
Vagrant 1.7.4
VirtualBox 5.0.2

第一步,使用Windows的Admin权限启动一个terminal:

第二步,在Vagrantfile文件中加配置(配置文件见文末):

然后在第一步的terminal里通过vagrant up启动这一步里被配置的box。

第三步,测试是否可以创建软链接:

不过硬链接是不行的(谁知道怎么实现?),还好大部分项目都不需要用到硬链接:

第四步,测试创建个Symfony项目:

OK

附上文本形式的配置:

# -*- 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

你可能感兴趣的:(开发环境配置,symfony,vagrant,php)