不要更新特定的包

chr*_*_so 20 composer-php

有没有办法告诉作曲家每次我做一个composer update我希望他忽略一个特定的包?

Mat*_*own 36

您是否考虑过为要忽略的软件包指定所需的版本?例如:

"require": {
    "some/package": "~1.2"
}
Run Code Online (Sandbox Code Playgroud)

这可能会更新,因为您说的是任何版本> = 1.2,<2.0,但如果严格说您只想要版本1.0,则不应该看到该软件包的任何更新:

"require": {
    "some/package": "1.2"
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!这正是我正在寻找的。绝对应该接受答案 - 不玩 composer.lock 文件 (2认同)

The*_*pha 5

实际上我不知道是否有任何方法可以告诉composer您排除一个特定的包更新,但您可以告诉哪些包更新为

composer update <package> <package2>; // or
php composer.phar update <package> <package2>;
Run Code Online (Sandbox Code Playgroud)

例如,

composer update foo/package1 bar/package2; // or
php composer.phar update foo/package1 bar/package2;
Run Code Online (Sandbox Code Playgroud)

此外,我认为,如果您没有自己列出composer.json(安装后删除),那么除非在列表中另外指定,否则它们不会更新.

从Composer: 如果您只想安装或更新一个依赖项,可以将它们列入白名单:

$ php composer.phar update monolog/monolog [...]
Run Code Online (Sandbox Code Playgroud)

检查此链接并检查Composer.

更新:(在互联网上找到但未经测试)

要做到这一点,只需从中删除包 composer.lock

  • 如果从composer.json中删除一个包,那么当你进行`composer update`时它将被删除 (3认同)