作者:资深化妆师May | 来源:互联网 | 2023-09-01 22:41
原文链接每次在yaml文件里添加站点后,比较烦的一点就是还得去手动修改hosts文件,将ip及对应的hostname加进去,更烦的是在windows系统上,hosts文件的路径太“
原文链接
每次在yaml文件里添加站点后,比较烦的一点就是还得去手动修改hosts文件,将ip及对应的hostname加进去,更烦的是在windows系统上,hosts文件的路径太“短”了,记不住。
其实yaml文件里既然已经有ip及相应的hostname了,可以自动化的,装一个叫vagrant-hostsupdater
的插件,它就可以自动给你去修改添加hosts,执行:
vagrant plugin install vagrant-hostsupdater
过程:
$ vagrant plugin install vagrant-hostsupdater
Installing the 'vagrant-hostsupdater' plugin. This can take a few minutes...
Installed the plugin 'vagrant-hostsupdater (1.0.2)'!
装了以后,再vagrant up
或者reload
,就会看到这样的提示:
==> default: [vagrant-hostsupdater] Checking for host entries
==> default: [vagrant-hostsupdater] found entry for: 192.168.10.10 taskmanager.app
==> default: [vagrant-hostsupdater] Writing the following entries to (C:/Windows/system32/drivers/etc/hosts)
==> default: [vagrant-hostsupdater] 192.168.10.10 beanstalk.app # VAGRANT: f3f48d68bd4db2c3817039aac37b80c7 (default) / de2a529b-0719-4f01-855c-0168fe5db83c
==> default: [vagrant-hostsupdater] This operation requires administrative access. You may skip it by manually adding equivalent entries to the hosts file.
==> default: Setting hostname...
可以看到它能识别到我hosts的路径 (C:/Windows/system32/drivers/etc/hosts)
,能识别出已有的host( found entry for: 192.168.10.10 taskmanager.app
)。如果存在你yaml文件里有,但hosts文件里没有的本地站点名,它就会自动给你写进去,可以看到上面提示给自动写入了一个beanstalk的host,这个时候打开你的hosts文件,就可以看到多了一行:
192.168.10.10 beanstalk.app # VAGRANT: f3f48d68bd4db2c3817039aac37b80c7 (default) / de2a529b-0719-4f01-855c-0168fe5db83c
这个hostupdater会在你每次up(启动)、resume(唤醒)、reload(重启)的时候自动添加hosts,然后在你每次halt(关机), destroy(销毁)和suspend(睡眠)的时候自动删除掉它给你添加的hosts,当然你也可以通过进一步配置,让它不自动删除,其实不影响什么。
好了,赶紧把hosts里相关的本地站点都删了吧,然后忘掉它。下次再添加homestead站点,修改完yaml文件,就可以直接up了。
【Homestead Master】系列是
Laravel底层核心技术实战揭秘这一课程里的第一章,因为考虑到该章内容学员们可能要经常来回查阅,同时也为了提高课程更新速度,所以这一章以文字的形式发布在此。