- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在两台机器(家庭和办公室)上使用 Vagrant,我的工作目录存储在 Dropbox 中。我经常遇到这样的问题:
The VirtualBox VM was created with a user that doesn't match the
current user running Vagrant. VirtualBox requires that the same user
be used to manage the VM that was created. Please re-run Vagrant with
that user. This is not a Vagrant issue.
通过rm -rf .vagrant
很容易解决这个问题,但我想找到一个更优雅的解决方案——比如一种轻松自动化的方式来放置 .vagrant
文件别处。
更新
场景如下:通过 Dropbox 在办公室和家庭计算机之间共享工作目录。
vagrant up
。vagrant up
的消息,表示 id
值与我创建时的值不同。 (一般为 503 与 501)rm -rf .vagrant
并再次执行了 vagrant up
。最佳答案
关于原来的问题
I get the message about on vagrant up, saying the id values aren't the same as when I created. (503 vs 501 in general)
您可以通过在以下文件 .vagrant\machines\default\virtualbox\creator_uid
中编辑您的 UID 来修复此问题并将 501/503 更改为 0。(0 表示您以 sudo 身份运行)
但我认为另一个会出现的问题是,您的每台计算机都在创建自己的虚拟机并将其存储在您的 /Users/user/Documents/Virtual Machines
下并且您没有共享这些文件。
当您使用 VirtualBox 创建虚拟机时,vb 将分配虚拟机和 id - 此 id 是关键,它将在 vagrant 和 vb 之间建立链接。当您创建 2 个不同的 VM 时,VM 具有不同的 ID,并且 vagrant 无法在这 2 个 VM 之间切换。
希望到目前为止这已经很清楚了,但是如何从那里开始 - 您将有几个选择:
显然您不太介意虚拟机的内容(就像您rm -rf
一样,因此每次切换计算机时都会重新创建虚拟机),因此您可以创建一个.vagrant.home
和.vagrant.office
并切换 .vagrant
当你更换机器时指向相应的文件夹,这样至少你不需要重新创建VM,你可以从相应的计算机启动VM。这并不理想,但会起作用。
您可以避免切换 .vagrant
通过设置环境变量 VAGRANT_CWD 从上述点目录中,这样您就不会存储 .vagrant
您的 dropbox 帐户下有一个 .vagrant 目录,但您可以使用一个脚本来导出此变量并将 .vagrant 目录单独存储在每台计算机上(不共享的文件夹),以便每台计算机都将创建自己的虚拟机。您可以拥有VAGRANT_CWD
如果您计划有不同的位置,请在每台计算机的 bash 配置文件中设置,但您也可以有例如 workhere.sh
脚本就可以 export VAGRANT_CWD=/folder...
如果两台计算机上的设置相同,只需执行 source workhere
在此之前vagrant up
另一个选项(我没有测试)将涉及几个步骤:从 VirtualBox 创建的虚拟机导出/导入到一台计算机到另一台计算机。这里的问题是保留 Id。我不确定,但通常当您导入到另一台计算机时,虚拟盒子应该保留 Id。
/Users/<user>/Library/VirtualBox/VirtualBox.xml
下的文件并查看 <MachineRegistry>
下的条目,您将获得机器条目的 uuid,确保导出/导入后它们在您的 2 台计算机之间匹配/Users/<user>/.vagrant.d/data/machine-index/index
计算机上可用 VM 的列表。如果一台计算机上有其他虚拟机在另一台计算机上不可用,则可以进行同步,但最好只复制要同步的虚拟机的必要条目。完成此操作并同步 .vagrant
后文件夹,您应该能够 vagrant up
从一台计算机或另一台计算机。
同样,我没有测试所有步骤,但我认为这会起作用。
一些注释:
关于Dropbox 上的 Vagrant .vagrant 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160239/
由于我在一个团队中工作,我想让与 vagrant(和 Chef-solo)一起工作的过程尽可能顺利。 当团队中的某人更改厨师食谱、角色或其他任何内容时,我希望所有其他团队成员通过在下一个“Vagran
在学习了几天之后,我很高兴能够成功设置我的 VM 并运行 Laravel 起始页。在那里很开心:) 有人可以澄清“何时”使用 Vagrant 函数。我的问题: 如果我打算关闭我的电脑,你应该使用 ha
如果我更改了配置脚本或更糟的基本操作系统,有没有办法强制 vagrant 重新配置或重新下载基本框?我试图改变 config.vm.box和 config.vm.box_url ,但是 vagrant
默认情况下,vagrant将框提取到用户主驱动器-%HOMEDRIVE%\.vagrant.d\boxes。这是在网络位置上。虽然有利于可靠存储,但速度非常慢。 如何更改盒子的位置? 最佳答案 当然。
我的系统上有许多测试 Vagrant 盒,我正在整理它们。我安装了插件,例如vagrant plugin install vagrant-hostsupdater和vagrant plugin ins
我的系统上有许多测试 Vagrant 盒,我正在整理它们。我安装了插件,例如vagrant plugin install vagrant-hostsupdater和vagrant plugin ins
我在理解他们网站上的 vagrant 工作流程时遇到了一些麻烦。 我之前一直在做一个项目,经历了更改目录和设置 vagrant box 等的整个过程。我什至运行了 bundle install 来安装
我在一个盒子上有一些相当复杂的配置,之后我想以编程方式做等效于 vagrant reload 的事情。 . 我见过的最好的解决方案是 here ,但是该链接上的代码似乎在 Vagrant 1.4+ 上
我无法在 Windows 7 机器上在我们的公司代理后面执行 vagrant up(或 vagrant add)。我尝试过使用和不使用 http_proxy/https_proxy 环境变量。我尝试将
是否可以将配置脚本中的值返回给 vagrant? response = config.vm.provision( "shell", path: "script.sh" ) if response =
这两个 Vagrant 插件有什么区别?我正在使用 vagrant-hostmanager,它可以更新主机上的/etc/hosts 文件,以及 guest 机器上的文件,支持多机 vagrant 设置
我正在使用vagrant和ansible来配置虚拟机,并且工作正常。这个可笑的剧本克隆了一个git repo,安装了它并运行了一个服务守护进程。 我还希望有一个无所事事的命令,该命令执行一个单独的“更
在浏览 Vagrant 教程时,我看到了两种在主机和 guest 计算机之间共享文件夹的选项 - 共享文件夹和同步文件夹。它们之间有什么区别? 或者,在 Vagrant 2 中,同步文件夹是共享文件夹
我在 Vagrant 中遇到同步文件夹的问题。我的配置非常简单: Vagrant.configure(2) do |config| config.vm.box = "ubuntu/xenial64
我正在尝试提供一个主-主MySQL对,并且只有它们都启动时才能正确配置它们。 Vagrant.configure("2") do |config| web.vm.box = "centos/7"
我已经在目录D:\vagrant\precise32\02-lamp\中执行了以下命令(在Windows中,使用Git Bash) $ vagrant box add precise32 http:/
尝试使用 Vagrant 的安装程序在 Windows 7 X64 上安装 Vagrant - vagrant_1.7.0.msi 安装正常,但无法使用 vagrant。在任何命令上,例如 vagra
我想禁用VirtualBox Guest Additions。我不会将它们用于文件夹同步等操作,对于我正在使用的盒子(例如centos / 7),无论如何它们都无法构建。有什么办法告诉流浪汉不要尝试在
我在 VirtualBox 上使用 Vagrant。昨天,我通过运行保存了我的项目的快照: $ vagrant snapshot save 'my-project-date-time' 今天,我对我想
我使用来自 vagrant init 的默认配置配置了 Vagrant (1.7.4)在 OS X (10.11.4) 上使用最新版本的 VirtualBox (5.0.16 r105871) 和最新
我是一名优秀的程序员,十分优秀!