私のcomposerパッケージのユーザーに、推奨パッケージのいずれかを選択してインストールするためのインターフェイスを提供したいと思います。コマンドラインオプションがないようです。APIでは、提案されたパッケージを一覧表示する getSuggests()
メソッドしか見つかりません。
提案されたパッケージを選択する選択肢をユーザーに提供する方法はありますか(ネイティブまたはサードパーティのインストーラーを使用)?
私の知る限り、一般的なcomposer機能でこれを達成する方法はありません。
post-package-install
で実行する独自のスクリプトを作成できます。ただし、スクリプトは、ルートパッケージのcomposer.json
で定義されている場合にのみ実行されます(スクリプトの使用方法の詳細 ここを参照 )。依存関係で定義されたスクリプトは、セキュリティ上の懸念から実行されません(これについては、少し前に githubでの議論 がありました)。
しかし、おそらく作曲家プラグインはあなたのニーズに合っています。プラグインは、コンポーザーの機能を拡張するために使用されます(プラグインの詳細 ここを参照 )。
簡単な代替方法として、次のような提案されたパッケージメッセージを定義することをお勧めします。If you need XY functionality run: php composer.phar require vendor/package:2.*
そして、ユーザーはこのコマンドを使用してインストールできます。あなたが要求したほど快適ではありませんが、それでもほとんどのユーザーにとって十分に簡単だと思います。
composer suggests | xargs -i composer require {}
試してみてください
composer suggests
フラグ-vを追加して、詳細にします。
これは何もインストールしません、それはただすべての提案をリストするでしょう。ただし、それをcomposer requireにパイプして、目的の出力を取得することができます。
composer suggests | xargs -L 1 composer require
Windows gitbashから動作するはずです。
これは私のためにそれをしました:)
composer suggests | xargs -I '{}' composer require '{}'
それが役立つことを願っています:)