【问题标题】:Vagrant shared-folders across multiple OS's with Cygwin使用 Cygwin 跨多个操作系统的 Vagrant 共享文件夹
【发布时间】:2014-04-19 00:15:05
【问题描述】:

我正在使用 vagrants virtualbox 插件在 OSX 和 Windows 之间共享一个目录。在 Windows 中,我使用的是 cygwin。

在我的 vagrant 文件中,我像这样共享文件路径:

config.vm.define "windows" do |windows|
    ...... stuff here ....
    windows.vm.synced_folder "/Users/user/ProjectDir", "/Users/user/ProjectDir"
  end

问题是当我在 Windows 上打开该目录时(使用 cygwin 的提示符),cygwin 将其路由到 /cygdrive/c/Users/user/ProjectDir

在 Windows 上共享此目录的应用程序必须使用路径 /Users/user/ProjectDir,并且它必须使用 cygwin。

关于如何克服这个问题的任何想法?

【问题讨论】:

    标签: windows cygwin vagrant shared-directory


    【解决方案1】:

    我根本没有在 Windows 上使用 Vagrant,但我认为技术上的符号链接应该会有所帮助。

    在 Cygwin 终端(薄荷):ln -s /cygdrive/c/Users/user/ProjectDir /Users/user/ProjectDir。

    注意:这可能无法正常工作,因为 AFAIK vboxsf(默认的 Vagrant 同步文件夹选项 - VirtualBox 共享文件夹)在处理符号链接时存在问题。不过你可以试试。

    【讨论】:

    • 感谢您的建议!问题是/Users/user/ProjectDir 目录甚至从未在 Windows 中首先创建,所以我不认为我可以创建一个指向不存在的目录的符号链接
    【解决方案2】:

    您可以使用 rsync 和 cygwin 来访问您的共享目录。参考这些链接

    http://docs.vagrantup.com/v2/synced-folders/rsync.html

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

    这里有一个关于在linux和windows系统here之间同步数据的例子。这可能会派上用场。

    【讨论】:

      【解决方案3】:

      我有同样的问题,这在我的桌面上有效。

      config.vm.synced_folder "D:/folder", "/folder"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-21
        • 1970-01-01
        • 1970-01-01
        • 2017-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多