21

composer update特定のパッケージを無視するようにするたびに、作曲家に伝える方法はありますか?

4

4 に答える 4

39

無視しようとしているパッケージに必要なバージョンを指定することを検討しましたか? 例えば:

"require": {
    "some/package": "~1.2"
}

任意のバージョン >=1.2,<2.0 と言っているため、これは更新される可能性があります。

"require": {
    "some/package": "1.2"
}
于 2014-10-15T14:29:10.883 に答える
6

実際、特定のパッケージを更新から除外するように指示する方法があるかどうかはわかりませんが、どのcomposerパッケージを更新するかを伝えることができます

composer update <package> <package2>; // or
php composer.phar update <package> <package2>;

例えば、

composer update foo/package1 bar/package2; // or
php composer.phar update foo/package1 bar/package2;

composer.jsonまた、自分で(インストール後に削除)にリストしないと、リストにも指定しない限り更新されないと思います。

Composer から: 依存関係を 1 つだけインストールまたは更新する場合は、それらをホワイトリストに登録できます。

$ php composer.phar update monolog/monolog [...]

このリンクを確認し、 Composerも確認してください。

更新:(インターネットで見つかりましたが、テストされていません)

これを行うには、パッケージを削除するだけですcomposer.lock

于 2013-06-26T08:02:25.797 に答える
3

更新: composer バージョン 1.0.0-alpha6 以下でのみ使用できます。バージョン 1.0.0-alpha7 以降で使用すると、「require-dev」内のすべてのパッケージが削除されます。

現在、プロジェクトで余裕があれば、作曲家をだまして混乱させることができると思います。のようなもの:更新したくないすべてのパッケージを入れて、更新"require-dev"を実行しますcomposer update --no-dev

composer install私が思い出したように実行すると、プロジェクトから削除されることに注意してください。

このトリックはすべて本当に厄介なので、そのようなことを行う公式の方法を待つ必要があります。個人的には、明示的に指定してパッケージを更新します

于 2015-01-26T14:29:19.913 に答える
3

特定のパッケージを無視するには、provide(それが独自のパッケージの一部である場合) またはreplace. これは、特定のパッケージを提供/置換することを Composer に伝えるため、ダウンロードされません。

動作するはずのcomposer.jsonファイルの例を次に示します。

{
    "require": {
        "radic/tmp-underscore-php": "~1.2.0"
    },
    "replace": {
        "patchwork/utf8": "*"
    }
}

この例では、パッケージはまたはpatchwork/utf8で無視されます。composer installupdate

特定のバージョンを除外するには、 Composer が特定のバージョンを除外するを参照してください。

于 2017-12-14T23:27:36.490 に答える