在编写器中覆盖PHP基依赖



我尝试在只有PHP 5.5.6的主机上安装Laravel 5.1。当我要求客户升级时,这可能是不可能/不可行的。

得到:

- This package requires php >=5.5.9 but your PHP version (5.5.6)
   does not satisfy that requirement.

on composer.phar install .

是否有一种方法来做一个编译器安装忽略这个依赖关系?

我认为它应该是安全的,因为只有从5.5.6到5.5.9的bug修复。

您可以使用--ignore-platform-reqs选项的作曲家命令,如install, update

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

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

你可以试试

composer install --ignore-platform-reqs

错误消息表明来自主composer.json的需求。版本要求可以直接修改:

"require": {
    "php": ">=5.5",

像这样修改版本后,我得到:

  Problem 1
    - Installation request for classpreloader/classpreloader 2.0.0 -> satisfiable by classpreloader/classpreloader[2.0.0].
    - classpreloader/classpreloader 2.0.0 requires php >=5.5.9 -> your PHP version (5.5.6) or "config.platform.php" value does not satisfy that requirement.
  Problem 2
    - Installation request for laravel/framework v5.1.17 -> satisfiable by laravel/framework[v5.1.17].
    - laravel/framework v5.1.17 requires php >=5.5.9 -> your PHP version (5.5.6) or "config.platform.php" value does not satisfy that requirement.
  Problem 3
    - Installation request for laravelcollective/html v5.1.6 -> satisfiable by laravelcollective/html[v5.1.6].
    - laravelcollective/html v5.1.6 requires php >=5.5.9 -> your PHP version (5.5.6) or "config.platform.php" value does not satisfy that requirement.
  Problem 4
    - laravel/framework v5.1.17 requires php >=5.5.9 -> your PHP version (5.5.6) or "config.platform.php" value does not satisfy that requirement.
    - jenssegers/agent v2.1.7 requires illuminate/support ~4.0|~5.0 -> satisfiable by laravel/framework[v5.1.17].
    - Installation request for jenssegers/agent v2.1.7 -> satisfiable by jenssegers/agent[v2.1.7].

使用composer.json中的以下代码片段,可以模拟php版本

[...]
"config": {
    "preferred-install": "dist",
    "platform": {
        "php": "5.5.9"
    }
}

文档:https://getcomposer.org/doc/06-config.md平台

允许您伪造平台包 (PHP和扩展),以便您可以模拟生产环境或在配置中定义目标平台。例如:{"php"5.4","ext-something":"4.0";}。

别忘了在这个

之后运行一个composer.phar update

我得到了同样的问题,解决了以下命令:

composer config platform.php 7.2.22 

***您可以根据您的版本替换PHP。

根编辑器。Json需要PHP ^7.3,但是你的PHP版本(8.0.0)不满足这个要求。

composer install --ignore-platform-reqs

更改PHP版本

"require": {
    "php": "^7.3|^8.0",
    .....
},

"require": {
    "php": ">=7.3",
    .....
},

运行版本无关命令可以解决此错误composer install——ignore-platform-reqs

将这些行添加到composer中。json文件

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

然后运行命令,

composer update or install

在composer.json中更改PHP版本

删除composer.lock

运行:composer install

相关内容

  • 没有找到相关文章

最新更新