首页 > 解决方案 > Laravel Sail 的 jenssegers/mongodb 依赖问题 - ext-mongodb

问题描述

我正在尝试在 Laravel Jetstream + Sail 中设置 MongoDB。

我正在做的是尝试安装以下软件包:

但我收到以下错误:

 Problem 1
- jenssegers/mongodb[v3.8.0, ..., v3.8.2] require mongodb/mongodb ^1.6 -> satisfiable by mongodb/mongodb[1.6.0, ..., 1.9.x-dev (alias of dev-master)].
- mongodb/mongodb 1.9.x-dev is an alias of mongodb/mongodb dev-master and thus requires it to be installed too.
- mongodb/mongodb dev-master requires ext-mongodb ^1.10.0 -> it is missing from your system. Install or enable PHP's mongodb extension.
- mongodb/mongodb[1.6.0, ..., v1.6.x-dev] require php ^5.6 || ^7.0 -> your php version (8.0.2) does not satisfy that requirement.
- mongodb/mongodb[1.7.0-beta1, ..., v1.7.x-dev] require php ^7.0 -> your php version (8.0.2) does not satisfy that requirement.
- mongodb/mongodb[1.8.0-RC1, ..., v1.8.x-dev] require ext-mongodb ^1.8.1 -> it is missing from your system. Install or enable PHP's mongodb extension.
- Root composer.json requires jenssegers/mongodb ^3.8 -> satisfiable by jenssegers/mongodb[v3.8.0, v3.8.1, v3.8.2].

就像这里建议的那样:为什么作曲家抱怨 ext-mongo 扩展?

我在 composer.json 中添加了以下内容

"provide" : {
    "ext-mongo": "*"
},

但没有任何改变,我也尝试添加包:

"soyuka/stubs-mongodb": "^1.0",

但同样的问题。

谢谢毛罗

标签: laravelmongodbcomposer-php

解决方案


解决方案是发布 Sail docker 文件并添加:

php8.0-mongodb

在 /docker/8.0/DockerFile

构建和运行:

sail composer require jenssegers/mongodb

推荐阅读