欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

vagrant 环境搭建 无法读取本地box

程序员文章站 2022-03-18 12:06:54
...
Last login: Sat Jan 23 14:35:58 on console
duncandeMini:~ duncan$ cd H
Hexo.rar   Homestead/ 
duncandeMini:~ duncan$ cd Homestead/
duncandeMini:Homestead duncan$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'laravel/homestead' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0.4.0
==> default: Loading metadata for box 'laravel/homestead'
    default: URL: https://atlas.hashicorp.com/laravel/homestead
==> default: Adding box 'laravel/homestead' (v0.4.0) for provider: virtualbox
    default: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.0/providers/virtualbox.box
==> default: Box download is resuming from prior download progress
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

HTTP server doesn't seem to support byte ranges. Cannot resume.
duncandeMini:Homestead duncan$ vagrant box list
laravel/homestead (virtualbox, 0)
duncandeMini:Homestead duncan$ 

我已经wget box回来了,在本地vagrant box add完毕。
然后根据laravel的文档中说的配置好了Homestead,在Homestead下面执行vagrant up出现了这个问题:
无法读取已经添加的box。

然后查了一下,说先要 vagrant init 一下,接着出现:

duncandeMini:Homestead duncan$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: Homestead_default_1453532161980_94944
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/duncan/Homestead
duncandeMini:Homestead duncan$ 

分析了一下,对比了一下Vagrantfile,发现没有init前是包含过了 .homestead/Homestead.yaml的相关配置

vagrant 环境搭建 无法读取本地box

而init后貌似木有描述到这个配置了?但是指定了本地box不再去网络上获取
vagrant 环境搭建 无法读取本地box

我猜测是这里配置出问题了,试着自己把两个配置结合在一起,然后再去vagrant up,但是一直出错,实在不知道如何设置了,所以来当一把伸手党,请教一下用vagrant做开发环境的大神们。

请问如何才能解决这个问题呢?

windows 和 osx 上都出现了这个问题

附加上Homestead.yaml的内容:

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/www

sites:
    - map: homestead.app
      to: /home/vagrant/www/public

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

回复内容:

Last login: Sat Jan 23 14:35:58 on console
duncandeMini:~ duncan$ cd H
Hexo.rar   Homestead/ 
duncandeMini:~ duncan$ cd Homestead/
duncandeMini:Homestead duncan$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'laravel/homestead' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0.4.0
==> default: Loading metadata for box 'laravel/homestead'
    default: URL: https://atlas.hashicorp.com/laravel/homestead
==> default: Adding box 'laravel/homestead' (v0.4.0) for provider: virtualbox
    default: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.0/providers/virtualbox.box
==> default: Box download is resuming from prior download progress
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

HTTP server doesn't seem to support byte ranges. Cannot resume.
duncandeMini:Homestead duncan$ vagrant box list
laravel/homestead (virtualbox, 0)
duncandeMini:Homestead duncan$ 

我已经wget box回来了,在本地vagrant box add完毕。
然后根据laravel的文档中说的配置好了Homestead,在Homestead下面执行vagrant up出现了这个问题:
无法读取已经添加的box。

然后查了一下,说先要 vagrant init 一下,接着出现:

duncandeMini:Homestead duncan$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: Homestead_default_1453532161980_94944
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/duncan/Homestead
duncandeMini:Homestead duncan$ 

分析了一下,对比了一下Vagrantfile,发现没有init前是包含过了 .homestead/Homestead.yaml的相关配置

vagrant 环境搭建 无法读取本地box

而init后貌似木有描述到这个配置了?但是指定了本地box不再去网络上获取
vagrant 环境搭建 无法读取本地box

我猜测是这里配置出问题了,试着自己把两个配置结合在一起,然后再去vagrant up,但是一直出错,实在不知道如何设置了,所以来当一把伸手党,请教一下用vagrant做开发环境的大神们。

请问如何才能解决这个问题呢?

windows 和 osx 上都出现了这个问题

附加上Homestead.yaml的内容:

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/www

sites:
    - map: homestead.app
      to: /home/vagrant/www/public

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

搞掂了。 这个问题是因为Homestead更新为最新版本为0.4.0了。

原因:

用wget下载回来的virtualbox.box虽然是0.4的,但是在vagrant box list 中显示为 0 在下载回来的homestead默认的配置中就会出现错误。

方法:

clone回来的Homestead\scripts\文件夹中,打开homestead.rb文件

config.vm.box_version = settings["version"] ||= ">= 0.4.0"

改为

config.vm.box_version = settings["version"] ||= ">= 0"

我看你这里已经正常开启了呀 不知道可不可以把报错信息po一下

我也遇到这个问题了,搞了两天,看到你这里,才解决,真是太感谢了,谢谢分享!