【问题标题】:Composer error:Your requirements could not be resolved to an installable set of packages [duplicate]作曲家错误:您的要求无法解析为一组可安装的软件包[重复]
【发布时间】:2021-06-12 14:15:50
【问题描述】:

我在我们的项目中使用 php 7.4 和 laravel。我们正在以两人一组的方式进行工作。所以每当我的同事添加一个包时,我必须运行 composer install 来安装包。但是现在当我尝试运行 composer install 时,我收到以下错误:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for spatie/laravel-backup 6.15.0 -> satisfiable by spatie/laravel-backup[6.15.0].
    - spatie/laravel-backup 6.15.0 requires ext-zip ^1.14.0 -> the requested PHP extension zip is missing from your system.

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini
    - /etc/php/7.4/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/10-pdo.ini
    - /etc/php/7.4/cli/conf.d/15-xml.ini
    - /etc/php/7.4/cli/conf.d/20-bcmath.ini
    - /etc/php/7.4/cli/conf.d/20-calendar.ini
    - /etc/php/7.4/cli/conf.d/20-ctype.ini
    - /etc/php/7.4/cli/conf.d/20-curl.ini
    - /etc/php/7.4/cli/conf.d/20-dom.ini
    - /etc/php/7.4/cli/conf.d/20-exif.ini
    - /etc/php/7.4/cli/conf.d/20-ffi.ini
    - /etc/php/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.4/cli/conf.d/20-ftp.ini
    - /etc/php/7.4/cli/conf.d/20-gd.ini
    - /etc/php/7.4/cli/conf.d/20-gettext.ini
    - /etc/php/7.4/cli/conf.d/20-gmp.ini
    - /etc/php/7.4/cli/conf.d/20-iconv.ini
    - /etc/php/7.4/cli/conf.d/20-json.ini
    - /etc/php/7.4/cli/conf.d/20-mbstring.ini
    - /etc/php/7.4/cli/conf.d/20-mysqli.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.4/cli/conf.d/20-phar.ini
    - /etc/php/7.4/cli/conf.d/20-posix.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-shmop.ini
    - /etc/php/7.4/cli/conf.d/20-simplexml.ini
    - /etc/php/7.4/cli/conf.d/20-sockets.ini
    - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.4/cli/conf.d/20-tokenizer.ini
    - /etc/php/7.4/cli/conf.d/20-xmlreader.ini
    - /etc/php/7.4/cli/conf.d/20-xmlwriter.ini
    - /etc/php/7.4/cli/conf.d/20-xsl.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

我应该如何解决这个问题?

【问题讨论】:

  • 到目前为止你尝试过什么?你被困在哪里了?

标签: php laravel composer-php


【解决方案1】:

对诸如installupdate 等作曲家命令使用--ignore-platform-reqs 选项来忽略平台要求。

--ignore-platform-reqs:忽略php、hhvm、lib-*和ext-*要求,即使本地机器不满足也强制安装这些。另请参阅平台配置选项。

https://getcomposer.org/doc/03-cli.md

所以你可以试试

composer install --ignore-platform-reqs

原答案:Override PHP base dependency in composer

【讨论】:

  • 这可能有用,但有一个负面影响:如果您运行的是旧版本的 php 并强制忽略它,您可能会因为版本错误而看到一些错误
  • 是的,我知道,但他没有指定他正在使用的系统,以便我可以给他完整的答案,例如,如果他使用CentOS,您的答案将不起作用@
  • 通常,这不是一个好主意。如果应用程序需要ext-zip,则应该安装它
【解决方案2】:

缺少一个必需的扩展。通过以下方式安装:

sudo apt-get install php7.4-zip

【讨论】:

    猜你喜欢
    • 2017-07-25
    • 2020-04-30
    • 2016-06-13
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2020-09-13
    • 2020-09-19
    • 2022-11-13
    相关资源
    最近更新 更多