Vagrant 正在尝试以需要 TTY 的方式与 UI 交互
Posted
技术标签:
【中文标题】Vagrant 正在尝试以需要 TTY 的方式与 UI 交互【英文标题】:Vagrant is attempting to interface with the UI in a way that requires a TTY 【发布时间】:2014-07-01 05:55:15 【问题描述】:问题:vagrant up 失败并出现以下错误。我在 Windows 7 上运行 vagrant,基本框是 Ubuntu)(files.vagrantup.com/precise32.box)。
如何解决?
vagrant.bat up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[default] Clearing any previously set network interfaces...
[default] Available bridged network interfaces:
1) Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
2) Intel(R) PRO/1000 PL Network Connection
Vagrant is attempting to interface with the UI in a way that requires
a TTY. Most actions in Vagrant that require a TTY have configuration
switches to disable this requirement. Please do that or run Vagrant
with TTY.
Process finished with exit code 1
谢谢
【问题讨论】:
【参考方案1】:This 在 cygwin 上为我工作:
或将其添加到 ~/.bashrc:
export VAGRANT_DETECTED_OS=cygwin
然后我得到“Vagrant 显示一条消息,它需要运行一些内部升级......”
编辑 - 糟糕!很快就谈了。在更新期间,我得到了Warning: Authentication failure. Retrying...
,直到超时:P
编辑 2 - I was able to fix it,将 config.ssh.private_key_path
设置为我的 Windows 用户主目录中的 .vagrant.d/insecure_private_key
。
【讨论】:
我在 Cygwin 下遇到了这个问题,只需按照您的建议设置环境变量即可。我不需要做任何其他事情。我怀疑 Vagrant 不知何故对环境感到困惑。 我还在 cygwin 的 bashrc 文件中简单地设置了 export VAGRANT_DETECTED_OS=cygwin 并且效果很好。 将 export VAGRANT_DETECTED_OS=cygwin 添加到 ~/.bashrc 在我的 windows cygwin 设置中起到了作用,谢谢!作为旁注,我还让 cygwin 应用程序以管理员身份运行。【参考方案2】:我在销毁 Vagrant Box 时遇到了同样的错误。我只是添加了-f
,它就完成了工作。
vagrant destroy m001 -f
这是因为当脚本尝试vagrant destroy
时,Vagrant 要求 [Yes/No] 确认。添加-f
会跳过。
【讨论】:
我遇到了“vagrant box remove”的问题,-f
也解决了这个问题。干杯。
可以确认使用 -f 解决了“vagrant box remove”问题。【参考方案3】:
在将 Vagrant 从 1.4 升级到 1.6.3 (Windows 7) 后,我遇到了同样的错误。
运行 VAGRANT_HOME\bin\vagrant.exe
为我手动解决了这个问题:
【讨论】:
这适用于任何操作系统。在 OSX 上运行 vagrant 解决了同样的问题。【参考方案4】:这是因为 Vagrant 找到了多个可以用作公共网络的以太网接口,而 Vagrant 无法决定使用哪一个。
有 3 个选项:
停用 2 个适配器之一,以便 Vagrant 可以使用另一个
Specify the Ethernet adapter 你希望 Vagrant 在 vagrantfile 中使用。像这样:
app.vm.network "public_network", bridge: "Intel(R) PRO/1000 PL Network Connection"
按照 Al Belsky 的回答中已经描述的手动运行 vagrant 可执行文件
【讨论】:
【参考方案5】:如果您在 Windows 上并通过 MinGW(例如 Git Bash)启动 Vagrant 并收到此消息,请尝试通过 Windows 的默认 cmd.exe
运行一次。然后您就可以回答有关您的网络适配器的问题了。
【讨论】:
【参考方案6】:我正在使用Vagrant 1.7.4
在运行 vagrant up 之前执行以下代码:
export VAGRANT_DETECTED_OS=cygwin
这将消除 vagrant 的退出,并允许您选择网络接口。
【讨论】:
【参考方案7】:这也可能是由于未在 Bios 中启用硬件虚拟化造成的。
在 Windows 10 中也遇到过这种情况,当时 Vagrant 无法正确检测操作系统。
【讨论】:
【参考方案8】:如果您同时安装了 vmware 和虚拟机并且您尝试使用 MinGW,也会发生这种情况。
【讨论】:
以上是关于Vagrant 正在尝试以需要 TTY 的方式与 UI 交互的主要内容,如果未能解决你的问题,请参考以下文章