Задать вопрос
@kirill-93

Laravel 5.8 требует php7.2?

В документации laravel 5.8 указано, что требуется PHP >= 7.1.3.
Однако composer install вызывает ошибку

Problem 1
- Installation request for doctrine/lexer 1.1.0 -> satisfiable by doctrine/lexer[1.1.0].
- doctrine/lexer 1.1.0 requires php ^7.2 -> your PHP version (7.1.17) does not satisfy that requirement.
Problem 2
- doctrine/lexer 1.1.0 requires php ^7.2 -> your PHP version (7.1.17) does not satisfy that requirement.
- egulias/email-validator 2.1.11 requires doctrine/lexer ^1.0.1 -> satisfiable by doctrine/lexer[1.1.0].
- Installation request for egulias/email-validator 2.1.11 -> satisfiable by egulias/email-validator[2.1.11].


Можно ли как-то это обойти, не обновляя php?
  • Вопрос задан
  • 2104 просмотра
Подписаться 2 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
deepblack
@deepblack
В composer.json вашего проекта зафиксируйте версию doctrine/lexer которая не требует PHP 7.2

Смотря на содержимое composer.json EmailValidator
можно сказать что требуется doctrine/lexer "^1.0.1"
А lexer 1.0.1 работает на php: >=5.3.2

spoiler

{
  "name":         "egulias/email-validator",
  "description":  "A library for validating emails against several RFCs",
  "homepage":     "https://github.com/egulias/EmailValidator",
  "type":         "Library",
  "keywords":     ["email", "validation", "validator", "emailvalidation", "emailvalidator"],
  "license":      "MIT",
  "authors": [
    {"name": "Eduardo Gulias Davis"}
  ],
  "extra": {
    "branch-alias": {
      "dev-master": "2.1.x-dev"
    }
  },
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/dominicsayers/isemail"
    }
  ],
  "require":      {
    "php": ">= 5.5",
    "doctrine/lexer": "^1.0.1"
  },
  "require-dev" :   {
    "satooshi/php-coveralls": "^1.0.1",
    "phpunit/phpunit": "^4.8.35||^5.7||^6.0",
    "symfony/phpunit-bridge": "^4.4@dev",
    "dominicsayers/isemail": "dev-master"
  },
  "suggest": {
    "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
  },
  "autoload": {
    "psr-4": {
      "Egulias\\EmailValidator\\": "EmailValidator"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "Egulias\\Tests\\": "test"
    }
  }
}

Ответ написан
@SergeRod
В разделе config файла composer.json вашего проекта укажите в конфигурации вашей платформы целевую версию PHP.

Примерно так должно выглядеть:

"config": {
    "platform": {"php": "7.1.0"},
}


Composer будет стараться подбирать подходящие версии пакетов, совместимые с этой платформой. Или ругаться, если найти не сможет.
Ответ написан
@metajiji
Сейчас доступны такие вещи как Docker, systemd-nspawn, lxc, scl и наконец рукосборный Пых и ещё куча вариантов в нашем современном культурном обществе :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы