Vagrant 中的符号链接和同步文件夹

2023-12-20

我想使用 Vagrant 为我的团队提供一个通用的开发环境。主机完全不同:

  • 有些使用 OS X,有些使用 Linux,有些使用 Windows。
  • 有些使用VMware,有些使用VirtualBox。

我们想要在虚拟机内部运行 Linux。

到目前为止,一切都很好。

现在我们的想法是每个开发人员都应该能够使用他们选择的 IDE,因此我们引入了一个同步文件夹,用于在主机和虚拟机之间共享源代码。基本上,除了符号链接之外,这也可以工作。

在我们的源代码中,我们实际上确实有一些符号链接,这在虚拟机内的 Linux 中不是问题,但在作为主机的 Windows 上这会导致问题。我们唯一能做的就是not要做的就是摆脱符号链接,所以我们需要另一种方法来处理这个问题。

到目前为止,我们已经尝试了多种选择:

  • 中提到了一个解决方法issue https://github.com/mitchellh/vagrant/issues/713#issuecomment-4416384Vagrant 的版本,不幸的是,这仅适用于 VirtualBox,对运行 VMware 的用户没有帮助。到目前为止,我们还没有找到运行代码的方法流浪文件取决于所使用的提供商。
  • 我们现在尝试使用rsync http://docs.vagrantup.com/v2/synced-folders/rsync.html类型。这在 Windows 上有效,但在 OS X 上崩溃,并出现许多错误,告诉我们symlink has no referent(每个符号链接一个错误)。
  • 我们想过NFS http://docs.vagrantup.com/v2/synced-folders/nfs.html,但这仅在您不使用 Windows 作为主机时有效。
  • 我们也想过SMB http://docs.vagrantup.com/v2/synced-folders/smb.html,但这同样仅适用于 Windows 作为主机。

我无法想象我们是这个星球上唯一或第一批遇到多平台主机和共享文件夹内符号链接问题的人。

如何解决这个问题,以便我们可以保留符号链接,但仍然使用不同的主机操作系统?


接受的答案不好。该问题描述了一个问题synced文件夹,not shared文件夹。建议的解决方案对 rsynced 没有影响(未共享) 文件夹。即使OP使用的是shared文件夹,接受的答案的建议是自 1.1 起已集成到 vagrant 中,在 OP 发布问题前 15 个月发布 https://github.com/mitchellh/vagrant/issues/713#issuecomment-13201507(更何况VirtualBox 的共享文件夹速度非常慢 http://mitchellh.com/comparing-filesystem-performance-in-virtual-machines).


我遇到了同样的问题:在 OS X 上,我得到了symlink has no referentr同步错误。我个人能够通过将特定的 rsync 参数添加到我的vagrantfile:

config.vm.synced_folder ".", "/var/www", type: "rsync", rsync__args: ["--verbose", "--archive", "--delete", "-z"]

I also 打开这个问题 https://github.com/mitchellh/vagrant/issues/5471在 vagrant 的 github 上指出其默认值似乎有问题的地方rsync__args(具体来说,默认参数之一,--copy-links,似乎正在破坏另一个,--archive,至少就复制损坏的符号链接而言)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vagrant 中的符号链接和同步文件夹 的相关文章

  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • 在.net中的lock语句中调用Thread.Sleep()

    我想知道在已经获取监视器的线程上调用 Thread Sleep 是否会在进入睡眠状态之前释放锁 object o new object Montior Enter o Thread Sleep 1000 Monitor Exit o 当线程
  • 如何确保使用 Microsoft Sync Framework 同步成功?

    我正在使用微软同步框架 https msdn microsoft com en us sync bb736753 aspx同步两个 Microsoft SQL Server 上的表 我创建了一个测试应用程序 它每秒在远程服务器上的表中生成一
  • 仅在配置时才在 Vagrantfile 中运行代码

    我想在运行时在屏幕上显示一些文本vagrant up or vagrant provision etc 当且仅当正在配置 为了vagrant up它仅在第一次运行 或者如果特别强制 provision 如何才能做到这一点 添加 shell
  • Rails Windows Vagrant 响应时间非常慢

    我在跑 Vagrant 1 7 1 Rails 4 1 4 Thin 1 6 1 Windows 7 每个静态文件的发送时间都超过一秒 在我的 PC 上加载一个页面可能需要大约 20 秒 而在同事的 Linux 机器上则只需瞬间 有一些帖子
  • Apache ZooKeeper:写入如何工作

    Apache ZooKeeper 是一种针对小对象的高可用数据存储 ZooKeeper 集群由一些节点组成 这些节点都将整个数据集保存在内存中 该数据集被称为 始终一致 因此每个节点每次都有相同的数据 根据文档和博客文章 http www
  • SSDT SQL Server 数据库项目中用于架构比较的命令行/API?

    在 Visual Studio 2012 中 我们有Schema Compare http msdn microsoft com en us library hh272690 28v vs 103 29 aspx in SSDT http
  • 如何使用Python多处理创建同步对象?

    我无法弄清楚如何创建同步的 Python 对象 我有一个名为 Observation 的类和一个名为 Variable 的类 基本上看起来像这样 代码被简化以显示本质 class Observation def init self date
  • Laravel/Homestead - OSX - Vagrant 连接超时

    Problem 我正在尝试让 Laravel Homestead 在我的 Mac Book Air 上运行 我已按照以下指示进行操作http laravel com docs 4 2 homestead http laravel com d
  • vagrant 无法启动虚拟机 - (Errno::EADDRNOTAVAIL)

    我真的被这个问题碰壁了 我在 Windows 机器上 具有管理员权限 我想开始使用 vagrant 设置我的工作环境 问题是我收到错误 在下面 并且我找不到任何解决方案 我正在使用最新的 virtualbox 和 vagrant 版本 错误
  • Monitor.TryEnter(object) 和 Monitor.TryEnter(object, ref bool) 之间存在什么重要区别?

    这些代码片段的行为似乎应该相同 1 Monitor TryEnter 对象 if Monitor TryEnter lockObject try DoSomething finally Monitor Exit lockObject 2 M
  • 同步不同数据库的2个表-MySQL

    我在数据库表中有一个包含某些医疗信息的表 我每天抓取并解析它们并将其存储在本地数据库的表中 假设最初有 1500 条记录 今天我的本地计算机上又添加了 100 条记录 现在 我有一个服务器 我需要在其中推送这些记录 因此数据库是不同的 我昨
  • 需要同步仅增量计数器吗?

    我使用整数作为计数器 该整数只会增加 并且肯定有多个线程会同时增加它 当没有其他线程尝试访问其值时 在程序执行结束时读取该计数器的值 我假设我不必为这种仅增量计数器使用锁或任何类型的同步 这是正确的吗 如果这有什么区别的话 我用 Java
  • 线程安全的有限大小队列,不使用锁

    我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS
  • vagrant 仅在第一次“vagrant up”时询问密码

    我为 CentOS 6 6 制作了自定义的 vagrant box 我的问题是 为什么当我第一次 流浪 时 流浪者总是需要密码 这是控制台日志 vagrant up Bringing machine ns up with virtualbo
  • Vagrant Berkshelf - 架子路径?

    是否可以设置 berkshelf 插件放置其安装的说明书的路径 如在 berkshelf 文件夹中 我运行的是 Windows 7 我目前正在尝试使用 opscode 说明书将 mysql 服务器安装到虚拟机 并且在工作中他们将 HOMED
  • 关于Java同步的问题

    Java 文档说 同一对象上的同步方法的两次调用不可能交错 我需要知道的是同步是否也会阻止两个不同的同步方法同一类的实例来自交错 例如 Worker 类有一个名为 process 的方法 我们有几个 Worker 实例在它们自己的线程中运行
  • 为什么java.io.InputStream中只有mark()和reset()方法是同步的?

    不明白为什么mark 和reset 是同步的 而read 为什么不是 java io InputStream 是一个抽象类 它有一个标记 重置的默认实现 仅在重置时抛出异常 告知不支持它 因此不支持它的子类不需要编写自己的抛出异常的方法 s
  • 在 %PATH% 的任何目录中都找不到 `ssh` 可执行文件

    ERROR c Users dhawal vora gt vagrant ssh ssh executable not found in any directories in the PATH variable Is an SSH clie
  • 在 Java 中使用并行性会使程序变慢(慢四倍!!!)

    我正在编写共轭梯度方法实现 我使用 Java 多线程进行矩阵反向替换 使用CyclicBarrier CountDownLatch 进行同步 为什么同步线程需要这么长时间 还有其他方法吗 代码片段 private void syncThre

随机推荐

  • UITextVIew secureTextEntry 不起作用

    可能的重复Here https stackoverflow com questions 2164809 uitextview does not respect the securetextentry property here https
  • Lucene 相似性类的高级解释?

    你知道我在哪里可以找到高级解释吗Lucene相似度类 http lucene apache org java 2 2 0 api org apache lucene search Similarity html算法 我想理解它 而不必破译与
  • ASP.NET – 错误抛出或记录

    我们正在用 C 构建 ASP NET 应用程序 我们有 3 层 UI 业务和数据库 我们需要对错误处理 日志记录进行澄清 我们有一个错误日志框架来记录错误 我的问题是 我们需要在每一层记录错误吗或者仅在主调用层 UI 层 中通过将错误从业务
  • 用于 RIA 的 Flex/Openlaslzo?

    我最近偶然发现了 flex openlaszlo OL 两者似乎都非常有用 我对它们有几个问题 部署弹性应用程序需要什么 据我了解 flex sdk 是开源的 但是其他工具 用于开发和部署 是 所有权 部署 openlaszlo 需要什么
  • Swift NWListener 监听、取消和重新监听成功吗?

    我有一个应用程序 我应该有一个 websocket 仅当该应用程序位于前台时才侦听 我已经点击了生命周期通知并调用 start 并相应地停止 该应用程序可以正常工作 直到应用程序返回前台 此时我收到许多警告和错误 class SwiftWe
  • 使用数据库中的内容创建 PDF 文件

    我想打印 pdf 格式的门票 我已经能够检索票据详细信息 例如客户姓名 订单 ID 订单项目和总账单 我想将此详细信息放入准备打印的 pdf 文件中 我使用 html 和 php 标签从数据库中检索这些票证详细信息 如何将 php 文件中回
  • mouseout 和 mouseleave 不起作用

    嗨我正在使用mouseout and mouseleave方法 但两者都不起作用 我尝试修复它但找不到解决方案 我的代码看起来很好 没有错误 所以我想知道为什么它不起作用 这是示例代码link http jsfiddle net Dpp8a
  • 正则表达式在 Swift 中获取方括号对之间的文本

    strong Lorem Ipsum lt strong gt Lorem Ipsum link to shop page instore pickup Learn More link to 给定上面的示例字符串 它包括 HTML 它是我从
  • 使用 arquillian+omnifaces 运行测试时出现 java.util.ServiceConfigurationError

    我收到以下错误 java util ServiceConfigurationError javax servlet ServletContainerInitializer 提供者 org omnifaces ApplicationIniti
  • 房间使用日期字段

    我正在使用日期转换器类来转换我的日期对象 但是 我仍然遇到一个错误 错误 无法弄清楚如何将此字段保存到数据库中 您可以考虑为其添加类型转换器 我的日期转换器课程 public class DateConverter TypeConverte
  • Objective C - 在主线程上调用类方法?

    我怎样才能打电话CLASS METHOD在主线程上 就像是 SomeClass performSelectorOnMainThread staticMethod withObject nil 请不要告诉我创建一个常规方法来调用此类方法 这将
  • git checkout 而不覆盖数据

    你怎么git checkout而不覆盖数据 I run git checkout master I get error Entry forms answer php would be overwritten by merge Cannot
  • 在 Java 中连接两个字符串然后转换为日期

    我需要在 Java 中将两个字符串连接在一起 然后格式化该字符串并将其设为 Date 对象 我现在拥有的两个字符串是31 01 2012 and 20 00我想做一些类似的事情 try DateFormat formatter new Si
  • 从 TFS 2015 Rest API 返回什么对象

    我正在使用 TFS 2015 Rest api 来检索构建定义并使用这些调用构建详细信息 定义 http tfs DefaultCollection apis build definitions name ampm api 版本 2 0 构
  • 如何访问 QTextDocument 页面

    我正在尝试构建一个以分页方式显示富文本文档的应用程序 或多或少像 MS Word 那样 目前 我希望一次只显示一页 From 这个问题 https stackoverflow com questions 3605368 how to pag
  • Blackberry WebWorks 中包含哪个版本的 WebKit?

    我能找到的就是 WebKit 它很有用 因为 BBOS5 甚至没有它 但如果有具体的版本就更好了 我正在尝试让 PDF js 工作 想知道我是否应该放弃 如果您确实想了解不同 BlackBerry 设备中的 WebKit 版本 请查看我们的
  • Java 中是否允许空字符串作为枚举成员

    我在处理一些遗留代码时遇到了一些问题 一张票要求我编写一个脚本来测试流程的有效性 但是 运行脚本时我不断收到此异常 java lang IllegalArgumentException No enum const class edu cmu
  • 从数据源拖放到 WPF 窗口不起作用

    我的任务是为我的公司设计一个联系人管理程序 我们有 VS 2012 因为我之前从未使用过 WPF 所以我想用它来开发这个应用程序 在使用数据库的实体框架时 我在开始绑定时遇到了巨大的问题 顺便说一句 首先是数据库 我已按照该信函链接中的说明
  • 如何添加可水平滚动的单行图像列表(在react js中)

    我想获得一些有关如何添加可水平滚动的单行图像列表的建议 解决方案和方法 假设您有一个 html 页面 其中包含多个 div 元素 并且该页面可以垂直滚动 在页面的最后一行 我想显示可以水平滚动的图像列表 可以做什么来达到这个效果呢 请参考下
  • Vagrant 中的符号链接和同步文件夹

    我想使用 Vagrant 为我的团队提供一个通用的开发环境 主机完全不同 有些使用 OS X 有些使用 Linux 有些使用 Windows 有些使用VMware 有些使用VirtualBox 我们想要在虚拟机内部运行 Linux 到目前为