根据您的最小稳定性设置,软件包在稳定足够的版本中不可用 [英] The package is not available in a stable-enough version according to your minimum-stability setting
问题描述
我真的不明白Composer如何使用最低稳定性设置。
我有两个包。让我们说, PackageA
和 PackageB
。
composer.json 文件 PackageA
如下所示: {
name:vendor / packagea,
minimum-stability:dev,
require:{
vendor / packageb:dev
}
}
PackageA
需要 PackageB
。 PackageB
的json如下所示:
{
name:vendor / packageb,
minimum-stability:dev
}
所以这两个说最小的稳定性是 dev
。所以我假设当我这样做:
composer create-project vendor / packagea
但是它会出现以下信息:
[InvalidArgumentException]
找不到稳定稳定的软件包vendor / packagea。
我觉得奇怪,因为我假设设置最小稳定性为 dev
将从其开发分支中提取软件包。在github的情况下总是 dev-master
。
所以我试图安装它通过告诉作曲家什么分支使用:
composer create-project vendor / packagea testFolder dev-master
但是它抱怨它找不到 PackageB
:
安装依赖项(包括require-dev)
您的需求无法解析为一组可安装的软件包。
问题1
- 找不到请求的软件包vendor / packageb dev。
那么我怎么能安装我的包呢?我还在开发,所以我不想为PackageA和PackageB创建一个版本...
解决方案有两个问题:
在create-project中,默认情况下,命令使用稳定性来查找要安装的软件包,这就是为什么如果指定dev-master,默认。然而,您可以运行 composer create-project vendor / packagea -s dev
安装依赖项后, m猜测你的软件包不存在于一个只是叫做 dev
的版本,所以如果你需要它不能找到它。要求dev-master可能工作,如:
{
name:vendor / packagea,
minimum-stability:dev,
require:{
vendor / packageb:dev-master
}
} $ b b
I don't really understand how Composer works with the minimum-stability setting.
I have two packages. Let's say, PackageA
and PackageB
.
The composer.json
file of PackageA
looks like this:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev"
}
}
So PackageA
requires PackageB
. The json of PackageB
looks like this:
{
"name": "vendor/packageb",
"minimum-stability": "dev"
}
So both say minimum stability are dev
. So I assume that when I do:
composer create-project vendor/packagea
But then it complains with the message:
[InvalidArgumentException]
Could not find package vendor/packagea with stability stable.
Which I find strange, because I would assume that setting the minimum stability to dev
would pull the package from its "development" branch. Which in the case of github is always dev-master
.
So I tried to install it by telling composer what branch to use:
composer create-project vendor/packagea testFolder dev-master
But then it complains that it can't find PackageB
:
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package vendor/packageb dev could not be found.
Then how am I able to install my package? I'm still developing so I dont want to create a release for PackageA and PackageB yet...
解决方案 There are two issues:
In create-project, by default the command uses the stable stability to look for the package to install, that's why it works if you specify dev-master but not by default. You could however also run composer create-project vendor/packagea -s dev
After while installing dependencies, I'm guessing that your package does not exist in a version just called dev
, so it can't find it if you require it like that. Requiring dev-master would probably work, like:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev-master"
}
}
这篇关于根据您的最小稳定性设置,软件包在稳定足够的版本中不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!