做流浪汉时出错

时间:2014-05-29 06:12:29

标签: virtualbox vagrant base vagrantfile

当我执行vagrant up

时出现此错误
anr@anr-Lenovo-G505s ~ $ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Adding box 'base' (v0) for provider: virtualbox
default: Downloading: base
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn't open file /home/anr/base

这是我的Vagrantfile:

 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 Vagrant.configure('2') do |config|
   config.vm.box      = 'precise32'
   config.vm.box_url  = 'http://files.vagrantup.com/precise32.box'
   config.vm.hostname = 'bootcamp'
   config.ssh.forward_agent = true

config.vm.provider 'vmware_fusion' do |v, override|
  override.vm.box     = 'precise64'
  override.vm.box_url = 'http://files.vagrantup.com/precise64_vmware.box'
end

config.vm.provider 'parallels' do |v, override|
  override.vm.box = 'parallels/ubuntu-12.04'
  override.vm.box_url = 'https://vagrantcloud.com/parallels/ubuntu-12.04'

# Can be running at background, see https://github.com/Parallels/vagrant-parallels/issues/39
v.customize ['set', :id, '--on-window-close', 'keep-running']
end

config.vm.network :forwarded_port, guest: 3000, host: 3000

 config.vm.provision :puppet do |puppet|
   puppet.manifests_path = 'puppet/manifests'
   puppet.module_path    = 'puppet/modules'
 end

这是我的机器设置:

 vagrant -v     Vagrant 1.6.2
 VirtualBox     4.3.2
 Linux Mint 15 Olivia Cinammon

7 个答案:

答案 0 :(得分:39)

我遇到了这个问题。我正在创建文件夹,并使用以下命令:

vagrant init
vagrant box add hashicorp/precise64
vagrant up

并收到有关下载远程文件的错误。

试试这个:

create a folder,
cd folder
vagrant init hashicorp/precise64 (or whatever vm you want to run)
vagrant up

希望这可以解决您的问题

答案 1 :(得分:4)

潜在的问题是您的VM计算机被错误标记。我也意识到你正在瞄准" exact32",但我正在使用" base"以此为例。

如果您要导航到:

~/.vagrant.d/boxes
你会看到类似的东西:

$ ls -la

drwxr-xr-x 4 some_user staff 136 Oct 22 09:43 ./ drwxr-xr-x 10 some_user staff 340 Oct 22 09:41 ../ drwxr-xr-x 4 some_user staff 136 Jun 29 13:23 hashicorp-VAGRANTSLASH-precise32 /

最后一行告诉你,你只有一个盒子,它是精确的32盒子。

但是,假设您设置了默认的Vagrant设置,如下所示:

$ cd ~/src/vagrant/myvm
$ vagrant init

如果您查看为您创建的Vagrant文​​件:

$ vim Vagrant

您将看到以下输出:

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.box = "base" 
end

请注意,它正在寻找名为" base"!的方框。所以我做的是:

$ cd ~/.vagrant.d/boxes
$ cp -R hashicorp-VAGRANTSLASH-precise32 base
$ cd ~/src/vagrant/myvm
$ vagrant up

然后你可以回去删除" hashicorp-VAGRANTSLASH-precise32"框,因为它现在是重复。

当然,您可以通过另一种方式完成此操作并重命名

config.vm.box = "base"

到你的盒子被调用的任何东西,但我发现前一种方式更好,因为如果你想根据默认的盒子创建第二个vm,那么你将面临同样的问题。因此,最好重命名该框,而不是每次重命名" vagrant init"。

答案 2 :(得分:1)

如果您重命名默认名称" base"

试一试:

vagrant init"你的盒子名称"

它为我工作。

also see

答案 3 :(得分:0)

您只需安装vagrant hostupdater

即可解决此问题
$ vagrant plugin install vagrant-hostsupdater

答案 4 :(得分:0)

在git bash上运行此命令:

  1. $ vagrant box list
      结果如下:
          - $ vagrant box list
         --2017 / 07/03 00:30:19发射器:检测到32位Windows安装
         --ubuntu / trusty64(virtualbox,20170619.0.0)
    copy boxname:ubuntu / trusty64
  2. $ vagrant init ubuntu / trusty64
  3. $ vagrant up

答案 5 :(得分:0)

将你的流浪汉版本降级为1.9.2。从this link.下载到Windows的MSI文件 并重新启动您的电脑。在BIOS设置中启用虚拟化。 然后再次尝试使用vagrant up命令。 这肯定会奏效。

答案 6 :(得分:-1)

在git bash上运行此命令:

cp /mingw64/bin/curl.exe /c/HashiCorp/Vagrant/embedded/bin/curl.exe

和我一起工作