首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker & Laravel :配置:错误:包要求(oniguruma)未满足

Docker & Laravel :配置:错误:包要求(oniguruma)未满足
EN

Stack Overflow用户
提问于 2019-12-09 14:31:23
回答 4查看 65.5K关注 0票数 94

有人能帮我解决这个问题吗。

当我试图从laravel应用程序的dockerfile中创建一个docker映像时,我会得到以下错误:

去检查黑熊..。未配置:错误:未满足包要求(oniguruma): 没有找到任何软件包'oniguruma‘,如果您在非标准前缀中安装了软件,请考虑调整PKG_CONFIG_PATH环境变量。或者,您可以设置环境变量ONIG_CFLAGS和ONIG_LIBS,以避免调用pkg-config。有关详细信息,请参阅pkg-config手册页。 命令'/bin/sh -c docker-php-ext-install pdo mbstring‘返回一个非零代码:1

这是我的Dockerfile:

代码语言:javascript
复制
FROM php:7
RUN apt-get update -y && apt-get install -y openssl zip unzip git
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install pdo mbstring
WORKDIR /app
COPY app /app # this copies all the app files to a folder called `app`
RUN composer install

CMD php artisan serve --host=0.0.0.0 --port=8000
EXPOSE 8000

和用于构建Dockerfile的docker命令

代码语言:javascript
复制
sudo docker build -t test .
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-09 16:47:38

只需从mbstring指令中删除docker-php-ext-install

此错误是由依赖关系问题引起的-- mbstring扩展要求oniguruma库使多字节正则表达式函数工作。来自安装指南

Oniguruma对于支持多字节字符的正则表达式函数是必要的。燕鸥与mbstring捆绑在一起。从PHP5.4.0开始,如果系统上已经安装了Oniguruma,则可以指定--with=DIR来使用已安装的库。

但是,在您正在使用的映像中,扩展已经安装并配置好了,因此您不需要做任何其他事情:

代码语言:javascript
复制
$> docker run --rm -it php:7 php -r "var_dump(mb_ereg_match('^99.*', '123456'));"                                                                                      
bool(false)

$> docker run --rm -it php:7 php -r "var_dump(mb_ereg_match('^12.*', '123456'));"                                                                                      
bool(true)
票数 156
EN

Stack Overflow用户

发布于 2019-12-17 11:45:25

@kalatabe所说的是正确的。但是,如果您绝对希望确保mbstring被安装,也可以将libonig-dev添加到您的apt-get install中。

票数 169
EN

Stack Overflow用户

发布于 2021-11-06 03:34:04

for phpbrew

您可以通过使用mbstring参数从安装命令中删除-mbstring变量来解决此错误。

示例:

代码语言:javascript
复制
phpbrew install php-7.4 +default -mbstring
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59251008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档