Vagrant 如何使用hashicorp/precise64盒来帮助流浪汉?

Vagrant 如何使用hashicorp/precise64盒来帮助流浪汉?,vagrant,vagrantfile,Vagrant,Vagrantfile,我开始学习Vagrant,我正在尝试用hashicorp/precise64box安装Vagrant机器。我已经在Gentoo上安装了VirtualBox 5.1,我从Gentoo存储库中找到了流浪者。我在终端中执行了以下命令: pecan@tux ~/vagrant_getting_started $ vagrant box add hashicorp/precise64 ==> box: Loading metadata for box 'hashicorp/precise64'

我开始学习Vagrant,我正在尝试用hashicorp/precise64box安装Vagrant机器。我已经在Gentoo上安装了VirtualBox 5.1,我从Gentoo存储库中找到了流浪者。我在终端中执行了以下命令:

pecan@tux ~/vagrant_getting_started $ vagrant box add hashicorp/precise64
==> box: Loading metadata for box 'hashicorp/precise64'
    box: URL: https://vagrantcloud.com/hashicorp/precise64
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) virtualbox
3) vmware_fusion

Enter your choice: 2
==> box: Adding box 'hashicorp/precise64' (v1.1.0) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/hashicorp/boxes/precise64/versions/1.1.0/providers/virtualbox.box
==> box: Successfully added box 'hashicorp/precise64' (v1.1.0) for 'virtualbox'!
pecan@tux ~/vagrant_getting_started $ nano Vagrantfile 
pecan@tux ~/vagrant_getting_started $ vagrant up
No usable default provider could be found for your system.

Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.

The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.

If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
当我试图启动流浪者机器时,我犯了上述错误

流浪汉档案内容:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "base"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  config.vm.provider "virtualbox" do |vb|
     # Display the VirtualBox GUI when booting the machine
     vb.gui = true

     # Customize the amount of memory on the VM:
     vb.memory = "1024"
  end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Enable provisioning with a shell script. Additional provisioners such as
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL

  Vagrant.configure("2") do |config|
    config.vm.box = "hashicorp/precise64"
  end
end

我指望得到帮助

Vagrant文件错误,它不包含正确的框信息

  • 您可以一起删除整个文件夹,并从创建正确的vagrant文件的
    vagrant init hashicorp/precise64
    开始,然后可以运行
    vagrant up
    (如果未运行
    vagrant up--provider virtualbox,则虚拟框应为默认提供程序)

  • 修复
    vagrant文件
    并替换

    config.vm.box = "base"
    

    然后你可以运行
    vagrant up
    ,它就可以工作了


  • 您是否按照错误中的说明尝试了Wagrant up--provider=virtualbox
    ?是的,仍然存在错误。请参见编辑的问题。“如果安装了VirtualBox,请查找
    VBoxManage
    二进制文件,并将其添加到PATH环境变量中。”VBoxManage位于
    /usr/bin
    中。PATH环境变量等于
    /usr/local/bin:/usr/bin:/opt/bin:/usr/x86\u 64-pc-linux-gnu/gcc-bin/5.4.0:/home/pecan/.gem/ruby/2.2.0/bin
    pecan@tux~/vagrant\u getting\u start$VBoxManage
    返回
    bash:/usr/bin/VBoxManage:权限被拒绝
    。作为root用户运行流浪机器绝对是个好主意,因为我不确定。
    config.vm.box = "base"
    
    config.vm.box = "hashicorp/precise64"