Home>Article>Development Tools> composer updates specified dependency packages

composer updates specified dependency packages

藏色散人
藏色散人 forward
2019-08-03 13:46:24 8682browse

composer updates specified dependency packages

composer updates the specified dependency package

compoesr's require/update can update the specified dependency package (upgrade /downgrade).

require is more flexible. If it is not installed, it will be installed. If it is installed, it will be upgraded or downgraded according to the version number passed in.

Update cannot pass a new version number on the command line. You need to manually specify the new version number in composer.json and then execute the update command.

composer require google/protobuf --ignore-platform-reqs -vvv

Related recommendations: [composer tutorial]

require command

Example

// 安装包 composer require hashids/hashids:2.0.0 // 已安装 升级 composer require hashids/hashids:3.0.0 // 已安装 降级 composer require hashids/hashids:2.0.4

update command

The update command cannot specify the package version number in the command line, and you need to manually modify the composer.json file

// 安装包 composer require hashids/hashids:2.0.0

Incorrect usage

composer update hashids/hashids:3.0.0

Correct usage example

vim composer.json "require": { "hashids/hashids": "3.0.0" }, :wq #升级到3.0.0 composer update hashids/hashids vim composer.json "require": { "hashids/hashids": "2.0.4" }, :wq #降级到2.0.4 composer update hashids/hashids

At the same time, if we edit and update the version numbers of multiple packages, we cannot use the

composer update package1 composer update package2 composer update package3

method to update them sequentially, because composer will verify the integrity of the configuration file json vs Lock, you specified that you want me to update A, but the version of B is inconsistent in json and lock, but you don't want me to update it. This is problematic.

At this time, you can only use composer update to globally update dependencies. Note that this is an update operation for global packages. Some packages that you have not changed but use a version number range may also be updated and upgraded. Please use with caution!

install command

install can be used to install dependencies for the first time after project initialization, and the version number incomposer.lockwill be read first , to ensure the consistency of package versions in collaborative development as much as possible.

The package version record that exists in composer.lock is equivalent to executingcomposer require packageName:versionNo, and the one that does not exist is equivalent to executingcomposer update packageName with versionRule in composer.json.

When we collaborate on development, A installs a new dependency package locally, or updates a dependency package, which will be written to composer.lock/composer.json. A uploads it to the warehouse, and B pulls it locally. , a composer install should be executed to synchronize the team's version changes.

So during collaborative development, we recommend uploadingcomposer.lock/composer.jsonto the remote warehouse at the same time.

Version number range

大于/大于等于:>1.2.3 >=1.2.3 小于/小于等于:<1.2.3 <=1.2.3 确切的版本号:1.2.3 ~1.2.3: 1.2.3 <= version < 1.3 ^1.2.3: 1.2.3 <= version < 2.0 { "php": ">=7.0", "ext-swoole": ">=4.0.0", "lib-curl": ">=7.29.0" }

The above is the detailed content of composer updates specified dependency packages. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:52bug.cn. If there is any infringement, please contact admin@php.cn delete
Previous article:what does composer mean Next article:what does composer mean