做流浪汉时出错

问题描述 投票:12回答:7

当我做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
virtualbox vagrant base vagrantfile
7个回答
38
投票

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

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

希望这可以解决您的问题


4
投票

根本问题是您的VM计算机被错误标记。我也意识到你的目标是“exact32”,但我在这里使用“base”作为例子。

如果您要导航到:

~/.vagrant.d/boxes

你会看到这样的东西:

$ ls -la

drwxr-xr-x 4 some_user staff 136 10月22日09:43 ./ drwxr-xr-x 10 some_user staff 340 10月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”重命名。


1
投票

如果您重命名默认名称“base”

试试吧:

vagrant init“你的盒子名字”

这对我有用。

also see


0
投票

您只需安装vagrant hostsupdater即可解决此问题

$ vagrant plugin install vagrant-hostsupdater

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

0
投票

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


-1
投票

在git bash上运行此命令:

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

和我一起工作

© www.soinside.com 2019 - 2024. All rights reserved.