Erro ao tentar andar vagamente


227

Estou usando o Vagrant para o meu ambiente e tenho um pequeno problema:

$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 /Users/.../base

Inicializei meu projeto com, vagrant initmas por algum motivo, vagrant upse recusa a trabalhar.


1
O problema que tive quando eu tenho esse erro é que eu não fiz cdem meu diretório do projeto
Connor Sanguessuga

Respostas:


269

Parece que você pode ter criado um projeto Vagrant com apenas vagrant init . Isso criará seu arquivo Vagrant, mas não terá uma caixa definida.

Em vez disso, você pode tentar

$ vagrant init hashicorp/precise32
$ vagrant up

que usa uma imagem padrão do Ubuntu. O site do Vagrant possui uma Introdução, que fornece alguns bons exemplos.


19
Gar, foi isso. Por que diz "Agora você está pronto para o vagrant upseu primeiro ambiente virtual!" então??
30515 Matt

@ Matt - Talvez porque você possa editar manualmente o arquivo vagrant e definir qual caixa usar?
precisa saber é o seguinte

5
Se você já fez vagrant inite vagrant box addseparadamente, você pode simplesmente editar Vagrantfile e conjunto config.vm.box para "hashicorp / precise32" ou qualquer caixa que você deseja usar.
Toby

1
Eu concordo - o vagrant é muito útil, mas a experiência do usuário é tão cheia de armadilhas que são fáceis de cair.
James

1
Obrigado, sua resposta me ajudou!
yohannan_sobin

101

Se você estiver usando o OS X e a instalação padrão, exclua a curvatura antiga do vagrant e agora deve funcionar

sudo rm /opt/vagrant/embedded/bin/curl


5
Obrigado, isso resolveu para mim também. Um voto a favor :) #
Akko Van Ettinger

7
Este fixa o meu problema no Mac, enquanto trabalhava com caixas locais e remotos
DWils

8
porque na terra é que incorporar onda ?
Benjamin R

3
A -rfbandeira é um pouco exagerada aqui. Apenas sudo rm /opt/vagrant/embedded/bin/curlé suficiente. Você deve evitar usar o -r(= recursivo para viajar pelos diretórios) e o -f(= force sem nenhuma pergunta) quando eles não forem realmente necessários. Eles são uma ferramenta poderosa e perigosa, especialmente em combinação com sudo ...
Arvid

Isso funcionou para mim usando o Vagrant 1.8.7 instalado com brew cask install vagrant. O mesmo arquivo de caixa funcionou bem com a mesma versão do Vagrant no Ubuntu 16.04.
RichVel 29/11

89
vagrant init laravel/homestead

e depois

vagrant up

Foi o que funcionou para mim.


4
Perfeito! Obrigado ! Se alguém pode me explicar por que isso acontecer eu vou ser :) contente
Baldráni

1
Você precisa especificar um tipo de caixa válido. Aqui estão alguns tipos de caixas válidos: atlas.hashicorp.com/boxes/…
duhaime

1
Obrigado, estava me deixando louco hehe. Saudações do Chile
Cristian Meza

1
usar --force com o init vagabundo se já existe um vagrantfile
Chuck

as duas respostas acima resolveram o meu problema. primeiro remova a pasta 'curl', execute sudo rm /opt/vagrant/embedded/bin/curl, execute vagrant init laravel/homesteade depois #vagrant up
Wei Lu

44

Isso aconteceu devido a um arquivo vagrant sem um nome de caixa definido. isso acontece quando você está executando o vagrant init sem um parâmetro de nome de caixa.

Então você tem que excluir o arquivo Vagrant então

vagrant init box-title
vagrant up

Espero que isso possa ajudar!


A lista de caixas disponíveis é aqui
Aleksey Potapov

esta resposta me salvou de três meses circuito de não Vagrant que a caixa-se, obrigado (i estou no Windows 7)
adam

22

trabalhe para mim estas são as seguintes etapas:

  • cd homestead (na pasta do diretório local) OU cd Homestead
  • del vagrantfile ou rm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up

17

Por favor, execute isso no seu terminal:

$ vagrant box list

Você verá algo como laravel/homestead(virtualbox,x.x.x)

Em seguida, localize seu Vagrantfilee localize a linha que diz

config.vm.box = "box"

substitua boxpelo nome da caixa ao executar vagrant box list.


Observe que o "Vagrantfile" está localizado em: C: \ Users \ YourUsername se você estiver usando o Windows.
egdavid

Isso resolveu o problema para mim porque minha imagem da caixa mencionada no .kitchen.yml não estava mais disponível. Complicado.
min hundje

16

se o "Vagrantfile" already exists in this directory. Remove it before running "vagrant init". erro aparecer,

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up

1
==> padrão: a caixa 'hashicorp / precision64' não foi encontrada. Tentando encontrar e instalar ... Isso permitiu a instalação remota, o que eu preferia de qualquer maneira. Estou executando no VirtualBox Windows Host com o cliente
Ubuntu14

1
Isso funcionou para mim. Portanto, o problema é que, quando o faz vagrant init, o padrão vagrant é nomear sua "caixa" no Vagrantfile como apenas "base"? E para fazer isso funcionar, você tinha que especificar um nome de caixa Vagrant não padrão?
Denialos

15

Sei que isso é antigo, mas recebi exatamente o mesmo erro. Acontece que estava faltando esta etapa que está claramente na documentação .

Eu precisava editar o Vagrantfilepara definir o config.vm.boxigual à imagem que eu havia baixado hashicorp/precise32,. Por padrão, foi definido como base.

Aqui está o que a documentação diz:

Agora que a caixa foi adicionada ao Vagrant, precisamos configurar nosso projeto para usá-lo como base. Abra o arquivo Vagrant e altere o conteúdo para o seguinte:

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

Isso ajuda. Eu estou usando "vagrant init", o erro vem. Depois de especificado "hashicorp / precision32" tudo parece OK.
Yuyue007

A etapa está na documentação oficial, mas observe quantos autores que respondem a esta pergunta não a incluem.
jmdeamer

10

Parece haver algo errado com o programa de curvatura incorporado no Vagrant. Seguindo o conselho acima, eu apenas o renomeei (apenas no caso de desejá-lo de volta) e vagrant upcomecei a funcionar como esperado.

No meu mac:

♪ .vagrant.d sudo mv /opt/vagrant/embedded/bin/curl /opt/vagrant/embedded/bin/curlOLD Password:


1
Embora eu não tenha certeza se isso responde à pergunta original, isso me ajudou. Cavando um pouco mais eu corria o comando curl embutido e temdyld: Library not loaded: @rpath/libcurl.4.dylib Referenced from: /opt/vagrant/embedded/bin/curl_old Reason: Incompatible library version: curl_old requires version 9.0.0 or later, but libcurl.4.dylib provides version 7.0.0
tapi

1
Eu tive o mesmo problema com o Vagrant 1.8.7 no OSX. O acima funcionou.
Janaka

6

Eu também sinto esse erro. Eu acho que foi porque não consegui fornecer um box_url ..

vagrant init precise64 http://files.vagrantup.com/precise64.box

1
Adicionando config.vm.box_url = "http://files.vagrantup.com/precise64.box"ao meu Vagrantfile corrigi-lo para mim.
millerdev 8/02/16

4

bem, na verdade você tem que fazer:

vagrant up laravel/homestead

porque, de acordo com o passo a passo de homestead, você acabou de fazer o download: http://laravel.com/docs/5.0/homestead by:

vagrant box add laravel/homestead

então você precisa iniciar a caixa que deseja usar - não alguma imagem aleatória do ubuntu;)


4

Comigo, recebi um erro quando executar vagrant up(usei o Macbook pro, Mac OS: 10.12.1):

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...

Tentei excluir o arquivo Vagrantfilena minha pasta e executar:

vagrant init hashicorp/precise64

então:

vagrant up

Isso pode resolver meu problema. Espero que isso ajude alguém que enfrenta o mesmo problema.


1
Eu tentei tudo isso várias vezes. A única coisa que funcionou foi renomear curl. (Mac OS 10.12)
Vicky T

1
Trabalhou também para mim em um PC com Windows 10
Jay Julian Payne

4

Eu enfrentei o mesmo problema ao executar os seguintes comandos

vagrant init
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: Box file was not detected as metadata. Adding it directly...
==> 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/...../base

Eu corrigi com

>vagrant init laravel/homestead
>Vagrant up

Funcionou para mim.

Feliz codificação



1

No caso, você adicionou uma caixa e começou a fazer o download, mas interrompeu o download, vá para ~/.vagrant.d/tmp/e exclua o arquivo de download parcial e tente novamente.


1

Resolvi esse problema indo para a pasta .vagrant.d/boxes/em sua casa e alterei o nome da pasta de laravel-VAGRANTSLASH-homesteadparabase . E funcionou para mim.

Por favor, verifique se a virtualização está ativada no seu BIOS.


você deveria ter executado "vagrant init laravel-VAGRANTSLASH-homestead"
Gil Margolin

1

você também pode adicionar o vm à sua máquina

vagrant box add precise32 http://files.vagrantup.com/precise32.box

1

O primeiro e mais importante passo antes de iniciar um Vagrant é: verifique se todas as caixas estão presentes no seu sistema. Use este comando para obter a lista de caixas disponíveis.

vagrant box list

Em seguida, vá para outro processo, selecionando uma caixa específica

vagrant init ubuntu/trusty64 (Eu selecionei ubuntu / trusty64)

então,

vagrant up

NOTA: Seria ótimo se você fizesse um pouco de pesquisa no Google / Youtube em vez de disparar cegamente os comandos :) Obrigado


0

Quando você executa o init vagrant, ele substitui o arquivo vagrant no seu repositório e pode fornecer esse erro. Então, sugiro que você copie o arquivo vagrant original do arquivo remoto ou de backup vagrant e tente vagrant depois disso.

Me deparei com o mesmo problema e apenas copiei o arquivo vagrant do meu repositório remoto e substitui o arquivo vagrant que eu estava tentando executar. Isso sincronizou as configurações no arquivo vagrant com a VM.


0

edite o arquivo vagrant criado por vagrant initno mesmo diretório e digite o nome da caixa na linha config.vm.box = "ubuntu/trusty64"onde ubuntu/trusty64está sua caixa base. Agora vagrant upfará o download e definirá ubuntu/trusty64como caixa base para você.



0

Verifique cuidadosamente o arquivo Homestead.yaml. Verifique se há algum caractere de espaço extra após o término da linha. Em seguida, abra o gitbash -> vá para o diretório Homestead -> comando "vagrant up --provision".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.