一、链接
二、不正常关机问题
使用过程中如果断电或者关机,会造成虚拟机出现一些很奇怪的问题。针对这个问题,要养成断电或者关机前先关闭虚拟机(vagrant halt
)的习惯,毕竟相对于出问题后重新创建虚拟机并且进行配置以及创建项目初始数据等操作,预先关闭虚拟机要轻松的多。
三、销毁或者重新加载虚拟机配置导致数据丢失
针对这个问题,销毁新建或者重构虚拟机前,虚拟机都会在完成操作后执行 ~/Homestead/after.sh
脚本,所以我们可以在这个脚本中增加我们常用的一些操作命令,比如:配置composer镜像
、配置npm镜像
、初始化项目数据
等,相关代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/sh # If you would like to do some extra provisioning you may # add any commands you wish to this file and they will # be run after the Homestead machine is provisioned. # # If you have user-specific configurations you would like # to apply, you may also create user-customizations.sh, # which will be run after this script. # 配置Composer使用中国镜像 composer config -g repo.packagist composer https://packagist.phpcomposer.com # 配置npm使用淘宝镜像,使用淘宝镜像有两种方式 # 方式一:只修改npm镜像地址为淘宝镜像地址 sudo npm config set registry " https://registry.npm.taobao.org " # 方式二:安装淘宝的cnpm,使用方式和npm一样,只是安装时将npm命令修改为cnpm # npm install -g cnpm --registry=https://registry.npm.taobao.org # 创建数据库及初始化项目数据,这两项操作一般只需要在项目销毁重建时使用,虚拟机重构(vagrant provision)时需要注释掉以下代码 mysql -uhomestead -psecret -e "create database IF NOT EXISTS blog default charset utf8 COLLATE utf8_general_ci;" cd ~/Code/blog && php artisan migrate:refresh --seed |
这里需要注意两点:
- 网上教程中说是修改 ~/.homestead/after.sh 脚本,但我测试不成功,只有修改 ~/Homestead/after.sh 脚本才会被执行到。
- 配置Composer使用中国镜像时建议不使用 sudo 命令,否则系统会报出警告
四、vagrant up时总是会自动更新composer
国内网络情况,直接 Update Composer
,总是会失败,所以我们可以在 vagrant up
屏蔽掉更新操作。
打开文件~/Homestead/scripts/homestead.rb
在这个文件中屏蔽掉 Update Composer
那段代码:
这样开启虚拟机时就会发现已经不再更新 composer
了。
我的微信
扫一扫加我微信