作曲家:与您的要求或最低稳定性冲突
Composer: conflict with your requirements or minimum-stability
我正在尝试 运行 composer require phpseclib/mcrypt_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.
我不明白这个。 https://github.com/phpseclib/phpseclib/blob/master/composer.json 表示要求的最低 PHP 版本是 5.6.1。还有另外两个库是必需的,但 Composer 并没有说那些其他库不兼容 - Composer 说 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
PHP 7.0.26 比 PHP 5.6.1 更新,这是 phpseclib/phpseclib:dev-master.
的最低要求版本
有什么想法吗?
创建一个 composer.json 指定最低稳定性的文件:
{
"require": {
"phpseclib/mcrypt_compat": "dev-master"
},
"minimum-stability": "dev"
}
http://getcomposer.org/doc/04-schema.md#minimum-stability
如果不指定,最小稳定性默认为稳定。
我想分享我的经验:
我正在创建一个包,我的包 composer.json 文件中有 "minimum-stability": "dev"
。然后当我添加新包时,几乎所有的包都安装了 dev
版本。
后来当我想将这个包集成到我的应用程序中时,我遇到了最小稳定性冲突错误。
为了摆脱这种情况我做了什么:
在我的包中:
- 已从 composer.json
中删除 "minimum-stability": "dev"
- 删除了所有带有
dev
版本和 composer require
包名称的已安装包(未指定任何版本),这导致仅安装稳定版本。
在我的申请中:
使用这些设置再次添加本地包
"repositories": [
{
"type": "path",
"url": "../xyz-auth-bundle"
}
]
"require": {
...
"xyz/auth-bundle": "dev-master"
}
rm -rf var/cache/; composer update;
一切顺利
还有一些要点:
申请composer.json:
- 没有“最低稳定性”设置
- "type": "project",
捆绑包 composer.json:
- 没有
version
指定
希望这会节省一些人的时间。
如果您 created/updated @Devon 提到的 composer.json 到所需版本并且仍然看到此错误,则意味着您忘记更新 composer.lock :
php71 composer.phar update phpseclib/mcrypt_compat --no-progress
我正在尝试 运行 composer require phpseclib/mcrypt_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.
我不明白这个。 https://github.com/phpseclib/phpseclib/blob/master/composer.json 表示要求的最低 PHP 版本是 5.6.1。还有另外两个库是必需的,但 Composer 并没有说那些其他库不兼容 - Composer 说 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
PHP 7.0.26 比 PHP 5.6.1 更新,这是 phpseclib/phpseclib:dev-master.
的最低要求版本有什么想法吗?
创建一个 composer.json 指定最低稳定性的文件:
{
"require": {
"phpseclib/mcrypt_compat": "dev-master"
},
"minimum-stability": "dev"
}
http://getcomposer.org/doc/04-schema.md#minimum-stability
如果不指定,最小稳定性默认为稳定。
我想分享我的经验:
我正在创建一个包,我的包 composer.json 文件中有 "minimum-stability": "dev"
。然后当我添加新包时,几乎所有的包都安装了 dev
版本。
后来当我想将这个包集成到我的应用程序中时,我遇到了最小稳定性冲突错误。
为了摆脱这种情况我做了什么:
在我的包中:
- 已从 composer.json 中删除
- 删除了所有带有
dev
版本和composer require
包名称的已安装包(未指定任何版本),这导致仅安装稳定版本。
"minimum-stability": "dev"
在我的申请中:
使用这些设置再次添加本地包
"repositories": [
{
"type": "path",
"url": "../xyz-auth-bundle"
}
]
"require": {
...
"xyz/auth-bundle": "dev-master"
}
rm -rf var/cache/; composer update;
一切顺利
还有一些要点:
申请composer.json:
- 没有“最低稳定性”设置
- "type": "project",
捆绑包 composer.json:
- 没有
version
指定
希望这会节省一些人的时间。
如果您 created/updated @Devon 提到的 composer.json 到所需版本并且仍然看到此错误,则意味着您忘记更新 composer.lock :
php71 composer.phar update phpseclib/mcrypt_compat --no-progress