前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows 安装使用Homestead 遇到的问题总结

Windows 安装使用Homestead 遇到的问题总结

作者头像
caoayu
发布2020-12-29 11:43:36
3.1K0
发布2020-12-29 11:43:36
举报
文章被收录于专栏:caoayu的分享

安装

本环境使用 VirtualBox6.1 Vagrant2.2 首先下载并安装这两个应用.

添加 homestead
代码语言:javascript
复制
vagrant box add laravel/homestead

根据提示,选择 VirtualBox 的选项,由于国内的大多网络环境,无法进行快速的下载.我们可以根据输出的 box 地址来手动下载,通过使用浏览器访问输出的 https 链接来下载到本地的其他位置.

下载完成后,我们手动进行添加 box

代码语言:javascript
复制
vagrant box add laravel/homestead ~/Download/cdb...(下载的文件)

然后使用命令 vagrant list 检查安装的 box 输出如下: laravel/homestead (virtualbox, 0) 后面的 0 为版本,可能是手动导入的缘故,没有正常的读取版本信息.

拉取 homestead
代码语言:javascript
复制
git clone https://github.com/laravel/homestead.git ~/Desktop/Homestead
cd Homestead
git checkout v7.16.1
# Mac / Linux... / git-bash
bash init.sh

# Windows...
init.bat
配置信息
代码语言:javascript
复制
folders:    # 目录映射
    - map: ~/Desktop/code
      to: /home/vagrant/code  # 将本地的桌面code目录映射到虚拟机的 /home/vagrant/code中

sites:     # 虚拟主机配置
    - map: homestead.test   #  配置虚拟主机名
      to: /home/vagrant/code/Laravel/public   # 主机映射地址
启动 vagrant
代码语言:javascript
复制
vagrant up

可能会报错,或者发现没有启动,而是又去那个地址下载 box 去了,这就是因为版本没有读取到的原因,这里我们去更改一个文件.

代码语言:javascript
复制
vim ~/Desktop/Homestead/scripts/homestead.rb   # 拉取的homestead的仓库中的文件
# 查找到下面的一句进行更改
config.vm.box_version = settings['version'] ||= '>= 0' # 0是更改后的内容,因为输出的版本是0.

更改后再次使用 vagrant up 即可启动

php 版本的替换

homestead 中安装了几个不同的 php 版本,如果需要替换执行下面的操作

代码语言:javascript
复制
sudo passwd root # 重设 root 密码
update-alternatives --display php 查看所有 php 版本和当前版本
sudo update-alternatives --config php # 根据输出提示,输入对应版本的序号即可替换
php -v # 验证版本信息

外部工具链接

  1. xshell
代码语言:javascript
复制
ip : 192.168.10.10
port : 22
name : vagrant
passwd : vagrant
  1. xftp 通过 xshell 上的快捷按钮即可自动添加并打开
  2. navicat
代码语言:javascript
复制
ip : 192.168.10.10
port : 3306
name : homestead
passwd : secret
dbname : homestead
  1. 命令行 ssh 连接
代码语言:javascript
复制
vagrant ssh
关闭销毁重载
代码语言:javascript
复制
vagrant halt # 关闭
vagrant reload --provision # 重载配置,修改过配置后需要重载生效
vagrant destory # 销毁一个 box

优化 git-bash 使用

注意:由于权限的原因,一些操作在 git-bash 中无法使用.所以,我们在配置之前需要先将 git-bash.exe 和 bash.exe 以管理员的身份打开.在 git 的安装路径下,bash.exe 在安装目录的 bin 下. ** git-bash 下的配置文件都相对于 git 的安装目录来说的.**

host 同步系统

创建虚拟主机后,需要同步更改系统中的 hosts 文件,如果不行,需要清除 dns,浏览器缓存. 这里通过修改 /etc/hosts 文件并设置别名来覆盖系统 hosts 文件,linux 系统中hosts 就是在 /etc/hosts,保持一个统一.

代码语言:javascript
复制
vim /etc/hosts
# 加入需要配置的虚拟主机地址域名映射
192.168.10.10 coco.test
# 退出vim
alias host="cp /etc/hosts /c/Windows/System32/drivers/etc/hosts"
# 此时设置了一个别名,使用host就会同步修改系统 hosts文件
host

linux 相同,这只是临时的修改,如果想要持久化,需要更改 git-bash 的配置文件

代码语言:javascript
复制
vim /etc/profile
alias host="cp /etc/hosts /c/Windows/System32/drivers/etc/hosts"
# 关闭vim
source /etc/profile # 刷新配置
host # 此时在别的会话中也可以使用这个别名了,同理可以根据自己的需要设置更多的别名.
修改 git-bashvim 配置

vim 的原始配置还是比较难用的,git-bash 中无法使用扩展,所以简单设置一些快捷键跟操作就行了.

代码语言:javascript
复制
vim /etc/vimrc
# 加入下面内容
set nocompatible " 不兼容 vi
syntax on " 高亮解析

set number " 设置行号
set wildmenu " 下部菜单
set hlsearch " 高亮搜索
set incsearch
set ignorecase
set smartcase
set cursorline " 行光标
set backspace=2
set nrformats=
set autoindent
set scrolloff=15 " 距离屏幕底部行数
let mapleader=',' " leader 键
noremap = nzz
noremap - Nzz
inoremap jj <Esc>`^
map Q :q<CR> " Q 退出
map S :w<CR> " S 保存
map R :source $MYNVIMRC<CR> " R 重载 vim 配置文件,需要在 profile 中设置该变量
inoremap <Leader><CR> :nohls<CR>
nnoremap <Leader><CR> :nohls<CR>
noremap <C-f> <C-f>zz " 翻页
noremap <C-u> <C-u>zz

profile

我目前的 /etc/profile 文件

代码语言:javascript
复制
# 新增内容
export MYNVIMRC=/etc/vimrc

# 通过 homestead up 等命令来启动 vagrant
function homestead() {
    ( cd ~/Desktop/Homestead && vagrant $* )
}

alias host="cp /etc/hosts /c/Windows/System32/drivers/etc/hosts"

composer 问题

laravel 安装器好像是安装的最新版的 laravel ,并且我没有找到自定义版本的方法,目前使用 composer 进行 laravel 的项目新建即可

  1. 镜像源问题
代码语言:javascript
复制
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  1. 创建 laravel 项目时 composer create-project laravel/laravel coco --prefer-dist "5.6.*" :
代码语言:javascript
复制
[RuntimeException]                                                                            
  Could not delete /home/vagrant/code/coco/vendor/kylekatarnls/update-helper/src/UpdateHelper:

  # 进入项目不使用插件安装
  cd coco 
  composer install --no-plugins
  1. App key
代码语言:javascript
复制
php artisan key:gen
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • 添加 homestead
      • 拉取 homestead
        • 配置信息
          • 启动 vagrant
          • php 版本的替换
          • 外部工具链接
            • 关闭销毁重载
            • 优化 git-bash 使用
              • host 同步系统
                • 修改 git-bash 的 vim 配置
                  • profile
                    • composer 问题
                    相关产品与服务
                    轻量应用服务器
                    轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档