Laravel 10.48.14执行php artisan install:api时提示install命名空间无命令
解决Laravel 10中
php artisan install:api命令不存在的问题 Laravel 10已经移除了install:api这个Artisan命令,这就是你报错的核心原因。要配置API相关功能,直接采用以下官方推荐的步骤即可:
1. 确认API路由基础
Laravel 10默认已创建routes/api.php文件,所有API路由都可以定义在这里,默认路由会自动带上/api前缀,无需额外创建。
2. 配置API认证(按需选择)
选项一:轻量令牌认证——Laravel Sanctum
- 安装Sanctum包:
composer require laravel/sanctum - 发布配置与迁移文件:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider" - 运行数据库迁移:
php artisan migrate - 检查
app/Http/Kernel.php的api中间件组,确保已包含以下内容(Laravel 10通常默认已配置):'api' => [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ], - 后续在需要认证的API路由中,使用
auth:sanctum中间件即可实现令牌验证。
选项二:完整OAuth2认证——Laravel Passport
如果需要完整的OAuth2认证体系,选择Passport:
- 安装Passport包:
composer require laravel/passport - 运行数据库迁移:
php artisan migrate - 生成加密密钥与默认客户端:
php artisan passport:install - 在
app/Models/User.php中引入HasApiTokenstrait:use Laravel\Passport\HasApiTokens; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; } - 在
app/Providers/AuthServiceProvider.php的boot方法中注册Passport路由:use Laravel\Passport\Passport; public function boot() { $this->registerPolicies(); Passport::routes(); } - 修改
config/auth.php,将API认证驱动切换为passport:'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],
3. 验证API配置有效性
在routes/api.php中添加测试路由:
Route::get('/test', function () { return response()->json(['message' => 'API配置正常!']); });
启动服务后访问http://你的域名/api/test,若返回JSON格式的响应,说明API基础配置已生效。
内容的提问来源于stack exchange,提问作者Mohammad Arshad
相关产品推荐
相关产品推荐

