【问题标题】:Vagrant is attempting to interface with the UI in a way that requires a TTYVagrant 正在尝试以需要 TTY 的方式与 UI 交互
【发布时间】: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

谢谢

【问题讨论】:

    标签: interface vagrant tty


    【解决方案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 为我手动解决了这个问题:

    • 执行 VAGRANT_HOME\bin\vagrant.exe
    • Vagrant 显示一条消息,提示它需要运行一些内部升级
    • “按任意键继续”...
    • 该过程完成后(需要几分钟),我就可以像往常一样继续启动 Vagrant 实例。

    【讨论】:

    • 这适用于任何操作系统。在 OSX 上运行 vagrant 解决了同样的问题。
    【解决方案4】:

    这是因为 Vagrant 找到了多个可以用作公共网络的以太网接口,而 Vagrant 无法决定使用哪一个。

    有 3 个选项:

    1. 停用 2 个适配器之一,以便 Vagrant 可以使用另一个

    2. Specify the Ethernet adapter 你希望 Vagrant 在 vagrantfile 中使用。像这样:

      app.vm.network "public_network", bridge: "Intel(R) PRO/1000 PL Network Connection"
      
    3. 按照 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,也会发生这种情况。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-09-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-08-31
              • 2012-08-04
              相关资源
              最近更新 更多