You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vagrant box无法更新至v12.2.0以上版本,求助添加新版PHP

解决Homestead卡在v12无法获取高版本PHP的问题

问题描述

  • 官网显示Homestead最新版本为v14.0.2,但执行vagrant box update时系统提示当前已是最新版本,实际Box仍停留在PHP 8.1,无法获取更高版本PHP
  • Homestead的release分支已同步到最新状态,删除Box后重新操作问题依旧
  • 执行vagrant up --provision时出现如下报错:

C:\Users\edgar\Homestead>vagrant up --provision
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: 14.0.2
==> default: Loading metadata for box 'laravel/homestead'
default: URL: https://vagrantcloud.com/api/v2/vagrant/laravel/homestead
The box you're attempting to add has no available version that
matches the constraints you requested. Please double-check your
settings. Also verify that if you specified version constraints,
that the provider you wish to use is available for these constraints.

解决步骤

1. 手动指定版本添加Box

先彻底清理旧Box,再手动拉取指定版本:

  • 查看本地已安装的Box:vagrant box list
  • 删除旧的Homestead Box:vagrant box remove laravel/homestead --box-version 12.x.x(替换为你实际的v12版本号)
  • 手动添加v14.0.2版本:vagrant box add laravel/homestead --box-version 14.0.2
    若遇到Provider匹配问题,追加参数:vagrant box add laravel/homestead --box-version 14.0.2 --provider virtualbox

2. 同步Homestead配置文件版本

确保本地配置文件与v14版本匹配:

  • 进入Homestead目录,拉取最新release分支:git pull origin release
  • 复制默认配置文件(Windows系统把cp换成copy):cp Homestead.yaml.example Homestead.yaml
  • 重新配置你的站点、数据库等个性化信息

3. 现有v12环境手动安装高版本PHP

如果无法升级到v14 Box,可在当前环境中手动安装更高版本PHP(以PHP 8.2为例):

  • 登录虚拟机:vagrant ssh
  • 添加PHP官方源:
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    
  • 安装PHP 8.2及常用扩展:
    sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
    
  • 切换默认PHP版本并重启服务:
    sudo update-alternatives --set php /usr/bin/php8.2
    sudo service nginx restart
    sudo service php8.2-fpm restart
    
  • 在Homestead.yaml中指定站点使用PHP 8.2:
    sites:
        - map: your-site.test
          to: /home/vagrant/code/your-site/public
          php: "8.2"
    
  • 重新执行配置:vagrant provision

4. 排查版本约束问题

如果vagrant up --provision提示版本不匹配,检查以下内容:

  • 打开Vagrantfile,查找是否有固定版本的配置行,比如config.vm.box_version = "12.x.x",修改为"14.0.2"或改为宽松约束>= 14.0.2
  • 确认你的VirtualBox版本是否满足v14 Box要求(通常需要6.1以上版本),升级VirtualBox后再尝试

内容的提问来源于stack exchange,提问作者eaponz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:55:23