Maison >développement back-end >tutoriel php >vagrant 环境搭建 无法读取本地box
<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的相关配置
而init后貌似木有描述到这个配置了?但是指定了本地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的相关配置
而init后貌似木有描述到这个配置了?但是指定了本地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一下
我也遇到这个问题了,搞了两天,看到你这里,才解决,真是太感谢了,谢谢分享!