0

Laravel のワークベンチを使用してパッケージを作成し、それを pica/pica-base の下の Packagist にアップロードしました。パッケージには、次の require ステートメントが含まれています。

"require": { "php": ">=5.4.0", "illuminate/support": "4.2.*", "gregwar/captcha": "dev-master" },

pica/pica-base パッケージをインストールしようとすると、次のエラー メッセージが表示されて失敗します。

お客様の要件は、インストール可能な一連のパッケージに解決できませんでした。

問題 1 - pica/pica-base dev-master には gregwar/captcha dev-master が必要 -> 一致するパッケージが見つかりません。- pica/pica-base dev-master には gregwar/captcha dev-master が必要です -> 一致するパッケージが見つかりません。- pica/pica-base dev-master のインストール要求 -> pica/pica-base[dev-master] で対応可能。

FAQ のアドバイスに従って、gregwar/captcha パッケージを使用して「dev-master」の代わりに「dev」を使用して手順を試しましたが、結果は同じでした。

まったく同じ要件で、他のプロジェクトにgregwar-packageをインストールできるため、これはわかりません。パッケージへのリンクは、Packigist の私のパッケージのページ ( https://packagist.org/packages/pica/pica-base ) に表示されます。

では、なぜこれが失敗するのでしょうか。

ありがとうございます!

4

1 に答える 1

1

デフォルトでは、Composer は依存関係を計算するときに安定したパッケージのみを使用します。不安定な (dev-master) パッケージを使用する場合、これをオーバーライドするには 2 つの方法があります。

  1. rootで、パッケージのバージョンをcomposer.json要求します (これが、 root にあるため、パッケージの取得に問題がない理由です)dev-masterpica/pica-basecomposer.json
  2. rootで、フラグを次のようcomposer.jsonに設定します。minimum-stabilitydev

    "require": {
        ...
    },
    "minimum-stability": "dev"
    

したがって、基本的に次のいずれかを実行できます。

  1. gregwar/captchaルートcomposer.json(Laravel プロジェクトの 1 つ) に依存関係を追加します。
  2. "minimum-stability": "dev"ルートに追加しますcomposer.json

2番目のオプションを選択することをお勧めします。その場合、すべてのパッケージが不安定なバージョンでダウンロードされるわけではないことを確認するために、prefer-stableフラグも追加することをお勧めします。

"require": {
    ...
    "pica/pica-base": "dev-master"
},
"minimum-stability": "dev",
"prefer-stable": true
于 2014-09-04T09:18:08.993 に答える