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

Laravel 8安装Sanctum报错:无法解析可安装包依赖

解决Laravel 8安装Sanctum的依赖冲突问题

问题核心是直接执行composer require laravel/sanctum时,Composer会拉取最新的Sanctum 3.x版本,而该版本仅支持Laravel 9.21+和Laravel 10,与你当前的Laravel 8环境不兼容。

解决步骤如下:

  • 指定适配Laravel 8的Sanctum版本安装
    执行以下命令安装兼容Laravel 8的Sanctum 2.x版本:

    composer require laravel/sanctum:^2.15
    

    2.x版本是官方为Laravel 8提供的适配版本,不会出现依赖冲突。

  • 完成Sanctum的手动配置
    因为是升级的旧项目,需要手动完成配置:

    1. 发布Sanctum的迁移文件和配置文件:
      php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
      
    2. 运行数据库迁移,创建Sanctum所需的表:
      php artisan migrate
      
    3. 在你的User模型中引入HasApiTokens trait,启用API令牌功能:
      use Laravel\Sanctum\HasApiTokens;
      
      class User extends Authenticatable
      {
          use HasApiTokens, Notifiable;
          // ... 其他模型代码
      }
      
  • 关于Laravel 8默认内置Sanctum的说明
    Laravel 8确实在全新项目中默认包含Sanctum依赖,但通过Laravel Shift升级的旧项目,由于升级流程的特殊性,不会自动添加该依赖,所以需要手动安装适配版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 04:16:04