>백엔드 개발 >PHP 튜토리얼 >vagrant 环境搭建 无法读取本地box

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

WBOY
WBOY원래의
2016-06-06 20:18:591745검색

<code>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$ 
</code>

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

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

<code>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$ 
</code>

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

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

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

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

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

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

附加上Homestead.yaml的内容:

<code>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
</code>

回复内容:

<code>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$ 
</code>

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

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

<code>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$ 
</code>

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

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

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

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

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

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

附加上Homestead.yaml的内容:

<code>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
</code>

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

原因:

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

方法:

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

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

改为

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.