【问题标题】:installing CakePhp: "Your requirements could not be resolved to an installable set of packages" error安装 CakePhp:“您的需求无法解析为一组可安装的软件包”错误
【发布时间】:2018-04-18 08:22:25
【问题描述】:

我正在尝试使用带有 tutorial 的作曲家安装 cakephp,但是在我运行命令之后:

sudo composer create-project --prefer-dist cakephp/app my_app_name

我得到错误:

问题 1 - cakephp/cakephp-codesniffer 3.0.0 需要 squizlabs/php_codesniffer ^3.0.0 -> 可满足 squizlabs/php_codesniffer[3.0.0, 3.0.1, 3.0.2, 3.1.0, 3.1.1]。 - cakephp/cakephp-codesniffer 3.0.1 需要 squizlabs/php_codesniffer ^3.0.0 -> 可由 squizlabs/php_codesniffer[3.0.0, 3.0.1, 3.0.2, 3.1.0, 3.1.1] 满足。 - squizlabs/php_codesniffer 3.1.1 需要 ext-simplexml * -> 您的系统中缺少请求的 PHP 扩展 simplexml。 - squizlabs/php_codesniffer 3.1.0 需要 ext-simplexml * -> 您的系统中缺少请求的 PHP 扩展 simplexml。 - squizlabs/php_codesniffer 3.0.2 需要 ext-simplexml * -> 您的系统中缺少请求的 PHP 扩展 simplexml。 - squizlabs/php_codesniffer 3.0.1 需要 ext-simplexml * -> 您的系统中缺少请求的 PHP 扩展 simplexml。 - squizlabs/php_codesniffer 3.0.0 需要 ext-simplexml * -> 您的系统中缺少请求的 PHP 扩展 simplexml。 - cakephp/cakephp-codesniffer ^3.0 的安装请求 -> cakephp/cakephp-codesniffer[3.0.0, 3.0.1] 可满足。

要启用扩展,请确认它们已在您的 .ini 中启用 文件: - /etc/php/7.0/cli/php.ini - /etc/php/7.0/cli/conf.d/10-opcache.ini - /etc/php/7.0/cli/conf.d/10-pdo.ini - /etc/php/7.0/cli/conf.d/20-calendar.ini - /etc/php/7.0/cli/conf.d/20-ctype.ini - /etc/php/7.0/cli/conf.d/20-curl.ini - /etc/php/7.0/cli/conf.d/20-exif.ini - /etc/php/7.0/cli/conf.d/20-fileinfo.ini - /etc/php/7.0/cli/conf.d/20-ftp.ini - /etc/php/7.0/cli/conf.d/20-gettext.ini - /etc/php/7.0/cli/conf.d/20-iconv.ini - /etc/php/7.0/cli/conf.d/20-intl.ini - /etc/php/7.0/cli/conf.d/20-json.ini - /etc/php/7.0/cli/conf.d/20-mbstring.ini - /etc/php/7.0/cli/conf.d/20-phar.ini - /etc/php/7.0/cli/conf.d/20-posix.ini - /etc/php/7.0/cli/conf.d/20-readline.ini - /etc/php/7.0/cli/conf.d/20-shmop.ini - /etc/php/7.0/cli/conf.d/20-sockets.ini - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini - /etc/php/7.0/cli/conf.d/20-sysvsem.ini - /etc/php/7.0/cli/conf.d/20-sysvshm.ini - /etc/php/7.0/cli/conf.d/20-tokenizer.ini 你也可以在终端运行php --ini来查看PHP在CLI模式下使用了哪些文件。

我使用 curl 和 composer 安装了codeSniffer。我仍然无法摆脱错误。任何想法我做错了什么?

【问题讨论】:

  • 您的网络服务器上没有安装这些扩展程序之一
  • @madalinivascu 但我按照教程步骤操作。所以不应该安装它们吗?我怎么知道是哪一个?
  • 仔细阅读错误信息,它告诉您缺少哪些扩展:“squizlabs/php_codesniffer 3.1.1 需要 ext-simplexml * -> 请求的 PHP 扩展simplexml 从您的系统中丢失

标签: php curl cakephp composer-php codesniffer


【解决方案1】:

看起来 codeSniffer 需要 squizlabs ^3.0.0。 而且看起来您还需要在 .ini 文件中启用扩展。

【讨论】:

    【解决方案2】:

    你需要安装一些扩展 i-e:

    sudo pear install PHP_CodeSniffer
    

    并且还为 composer 启用 php 扩展 i-e curl,intl

    sudo apt-get update
    
    sudo apt-get install curl php-cli php-mbstring git unzip
    

    额外选项:

    全局安装作曲家:

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    

    【讨论】:

    • 如果仍然存在任何扩展来启用这里提及我帮助你
    • PEAR 已死,以这种方式而不是通过 composer 安装 PHPCS 并不能解决根本问题,正如错误消息所暗示的那样,缺少 SimpleXML 扩展。
    • 试试这个 xml sudo apt-get install php-xml
    【解决方案3】:

    我曾经有过类似的错误。它是通过安装 php-xml 修复的。确保你也安装了waris所说的。

    sudo apt-get install php-xml
    

    【讨论】:

      【解决方案4】:

      我曾经有过类似的错误。它是通过安装 php-xml 修复的。确保你也安装了waris所说的。 第一个php版本

      php -v
      

      sudo apt-get install <your php version>-xml
      

      【讨论】:

        猜你喜欢
        • 2021-10-28
        • 2016-11-20
        • 2015-06-20
        • 1970-01-01
        • 2015-08-22
        • 1970-01-01
        • 1970-01-01
        • 2017-07-25
        • 2014-01-26
        相关资源
        最近更新 更多