Php 作曲家:与您的要求或最低稳定性冲突

Php 作曲家:与您的要求或最低稳定性冲突,php,composer-php,phpseclib,Php,Composer Php,Phpseclib,我试图在空目录中运行composer require phpseclib/mcrypt\u compat:dev master,但出现以下错误: ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to

我试图在空目录中运行
composer require phpseclib/mcrypt\u compat:dev master
,但出现以下错误:

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phpseclib/mcrypt_compat dev-master -> satisfiable by phpseclib/mcrypt_compat[dev-master].
    - phpseclib/mcrypt_compat dev-master requires phpseclib/phpseclib dev-master -> satisfiable by phpseclib/phpseclib[d
ev-master] but these conflict with your requirements or minimum-stability.


Installation failed, deleting ./composer.json.
我不明白这一点。表示所需的最低PHP版本是5.6.1。还需要另外两个lib,但Composer并没有说其他lib是不可兼容的,而是说phpseclib/phpseclib是不可兼容的

这是我在输入
php-v
时得到的输出:

PHP 7.0.26 (cli) (built: Nov 22 2017 13:19:37) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
PHP7.0.26比PHP5.6.1更新,PHP5.6.1是phpseclib/phpseclib:dev master所需的最低版本


有什么想法吗?

创建一个具有指定最低稳定性的composer.json文件:

{
     "require": {
         "phpseclib/mcrypt_compat": "dev-master"
      },
     "minimum-stability": "dev"
}


如果未指定,最小稳定性默认为稳定。

我想分享我的经验:

我正在创建一个bundle,在bundle composer.json文件中有
“最小稳定性”:“dev”
。然后,当我添加新的软件包时,几乎所有的软件包都是在
dev
release中安装的

后来,当我想将这个包集成到我的应用程序中时,我遇到了最小稳定性冲突错误

我为摆脱这种情况所做的:

在我的包中:

  • 从composer.json中删除了
    “最小稳定性”:“dev”
  • 删除了使用
    dev
    发行版和
    composer require
    package name`(未指定任何版本)安装的所有软件包,这导致只安装稳定版本
在我的应用程序中:

使用这些设置再次添加本地包

"repositories": [
        {
            "type": "path",
            "url": "../xyz-auth-bundle"
        }
    ]

"require": {
  ...
  "xyz/auth-bundle": "dev-master"
}
rm-rfvar/cache/;作曲家更新一切顺利

还有一些要点:

applicationcomposer.json:

  • 没有“最低稳定性”设置
  • “类型”:“项目”
bundle composer.json:

  • 没有指定
    版本

希望这能节省别人的时间

如果您创建/更新了所需版本中提到的@Devon的composer.json,并且仍然看到此错误,则表示您忘记更新composer.lock:

php71 composer.phar update phpseclib/mcrypt_compat --no-progress

编写器要求供应商/软件包开发主程序
应能正常工作。