установка CakePhp: Ваши требования не могут быть решены из-за ошибки устанавливаемого набора пакетов

Я пытаюсь установить cakephp с помощью композитора с помощью этого руководства, но после запуска команда:

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

Я получаю сообщение об ошибке:

Проблема 1 - cakephp / cakephp -codeniffer 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 -codeniffer 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 -codeniffer ^ 3.0 -> выполняется cakephp / cakephp -codeniffer [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/con fd / 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.

Я установил codeSniffer, используя как curl, так и композитор. до сих пор не могу избавиться от ошибки. есть идеи, что я делаю не так?


person Bahman Rouhani    schedule 06.11.2017    source источник
comment
на вашем веб-сервере не установлено ни одно из этих расширений   -  person madalinivascu    schedule 06.11.2017
comment
@madalinivascu, но я выполнил инструкции из руководства. Разве их нельзя установить? и как узнать какой?   -  person Bahman Rouhani    schedule 06.11.2017
comment
Внимательно прочтите сообщение об ошибке, оно сообщает, какие расширения отсутствуют: squizlabs / php_codesniffer 3.1.1 требует ext-simplexml * - ›запрошенное расширение PHP simplexml является отсутствует в вашей системе   -  person ndm    schedule 06.11.2017


Ответы (4)


Похоже, codeSniffer требует squizlabs ^ 3.0.0. И также похоже, что вам нужно включить расширения в ваших файлах .ini.

person Christopher Reece    schedule 06.11.2017

Однажды у меня была аналогичная ошибка. Это было исправлено установкой php-xml. Убедитесь, что вы также установили то, что написано в waris.

sudo apt-get install php-xml
person stealth    schedule 14.02.2018

Вам необходимо установить какое-то расширение i-e:

sudo pear install PHP_CodeSniffer

А также включите расширения 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
person waris    schedule 06.11.2017
comment
если все еще существует какое-либо расширение, чтобы включить упоминание здесь, я помогу вам - person waris; 06.11.2017
comment
PEAR мертв, и установка PHPCS таким образом вместо через composer не решит основную проблему, которая, как следует из сообщения об ошибке, заключается в том, что расширение SimpleXML отсутствует. - person ndm; 06.11.2017
comment
попробуйте это для xml sudo apt-get install php-xml - person waris; 06.11.2017

Однажды у меня была аналогичная ошибка. Это было исправлено установкой php-xml. Убедитесь, что вы также установили то, что написано в waris. первая версия php

php -v

а также

sudo apt-get install <your php version>-xml
person mohamed elshazly    schedule 11.02.2019