Docker compose php版本低于实际版本

cld4siwp  于 2023-02-21  发布在  PHP
关注(0)|答案(1)|浏览(196)

我正在尝试执行docker-compose up -d --build,但有一部分会出现错误

RUN composer install --prefer-dist --no-dev --optimize-autoloader --no-interaction:
#0 0.785 Installing dependencies from lock file
#0 0.787 Verifying lock file contents can be installed on current platform.
#0 0.802 Your lock file does not contain a compatible set of packages. Please run composer update.
#0 0.802
#0 0.802   Problem 1
#0 0.802     - doctrine/lexer is locked to version 3.0.0 and an update of this package was not requested.
#0 0.802     - doctrine/lexer 3.0.0 requires php ^8.1 -> your php version (8.0.6) does not satisfy that requirement.

但是当我运行php --version时,我有版本8.2.0,当我运行Apache时,我得到相同的结果,版本8.2.0。
我已经尝试了几乎所有我在网上找到的东西,但似乎没有解决这个问题。
我做错什么了吗?
非常感谢您的时间:)

col17t5w

col17t5w1#

问题不在docker本身,在示例初始化期间,它尝试运行composer install,并发现composer.lock的内容与其示例之间存在差异。
在这个位置上,最初我会尝试删除这个composer.lock文件,如果这不能解决问题,理想的做法是检查Dockerfile并检查PHP版本和它运行的脚本,甚至可能在composer安装时添加一个标记--ignore-platform- reqs

相关问题