最近在搭建laravel的homestead环境的时候遇到一些坑,总结一下
安装的vagrant版本是1.9的
1第一个坑是已经了离线的box,可是启动的时候居然还是从线上下载,然后就是卡的一逼,下不了。
原因:配置文件中对版本有要求,直接add的box版本是0,所以vagrant会认为版本不匹配然后直接去网上下载
解决方法:下载离线的homestead.box(百度云上很多) 建立 homestead.json 然后运行命令 vagrant box add homestead.json
{
"name": "laravel/homestead",
"versions": [{
"version": "1.0.1",
"providers": [{
"name": "virtualbox",
"url": "file://homestead.box"
}]
}]
}
2 homestead版本的问题解决了,up的时候还有另外的问题的ssh
在git bash下执行如下命令ssh-keygen -t rsa -C "[email protected]"成功以后会提示文件所在的目录
我当时的配置路径,剩下的ip,同步什么的参照文档就可以了
3再次up遇到这个报错,吐血。
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.3/lib/vagrant/util/is_port_open.rb:21:in `initialize‘: The requested address is not valid in its context. - connect(2) for "0.0.0.0" port 8000 (Errno::EADDRNOTAVAIL)
查了资料,好多说把vagrant换成1.8,呵呵,多烦啊。然后从一个博客中找到了解决方法
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.3/lib/vagrant/util/is_port_open.rb:21:in `initialize‘: The requested address is not valid in its context. - connect(2) for "0.0.0.0" port 8000 (Errno::EADDRNOTAVAIL)
在./scripts/homestead.rb文件中
# Default Port Forwarding default_ports = { 80 => 8000, 443 => 44300, 3306 => 33060, 5432 => 54320, 8025 => 8025, 27017 => 27017 } # Use Default Port Forwarding Unless Overridden unless settings.has_key?("default_ports") && settings["default_ports"] == false default_ports.each do |guest, host| unless settings["ports"].any? { |mapping| mapping["guest"] == guest } config.vm.network "forwarded_port", guest: guest, host: host, auto_correct: true, host_ip: ‘本机IP‘ end end end
加上红色的东东,再次up,一切ok
时间: 2024-10-05 06:16:16