web-dev-qa-db-ja.com

このパッケージは、最小安定性の設定に応じて、十分に安定したバージョンでは利用できません

Composerが最小安定性設定でどのように機能するか、私は本当に理解していません。

2つのパッケージがあります。 PackageAPackageBとしましょう。

composer.jsonPackageAのファイルは次のようになります。

{
    "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]
Could not find package vendor/packagea with stability stable.

不思議に思うのは、最小の安定性をdevに設定すると、パッケージが「開発」ブランチからプルされると想定するためです。これはgithubの場合は常にdev-master

したがって、composer使用するブランチを指定して、インストールを試みました。

composer create-project vendor/packagea testFolder dev-master

しかし、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.

次に、どのようにしてパッケージをインストールできますか?私はまだ開発中なので、まだPackageAとPackageBのリリースを作成したくありません...

13
Vivendi

2つの問題があります。

Create-projectでは、デフォルトでこのコマンドは安定した安定性を使用してインストールするパッケージを探します。そのため、デフォルトではなくdev-masterを指定すると機能します。ただし、composer create-project vendor/packagea -s dev

依存関係をインストールした後、devと呼ばれるバージョンにパッケージが存在しないため、そのように必要な場合にパッケージを見つけることができないと思います。 dev-masterを要求すると、おそらく次のように機能します。

{
    "name": "vendor/packagea",
    "minimum-stability": "dev",
    "require": {
        "vendor/packageb": "dev-master"
    }
}
14
Seldaek

これをどのように修正しましたか?

Composerをインストールした後、次のコマンドを実行してComposer Asset Pluginをインストールします。

php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"

Yii 2.0。アプリケーションテンプレートの1つを選択してインストールを開始します。アプリケーションテンプレートは、Yiiで記述されたWebアプリケーションのスケルトンを含むパッケージです。

0