PHP依赖管理工具Composer安装与使用
Composer是PHP的依赖管理工具。我们可以在项目中声明我们所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件。有了它,我们可以很方便地用一个命令来引用别人优秀的代码到我们的项目中。 。
Composer 默认情况下不是全局安装的,而是基于指定项目(作为供应商)的目录进行安装。
Composer 需要 PHP 5.3.2+ 或更高版本,并且必须启用 openssl。
Composer 可在 Windows、Linux 和 OSX 平台上运行。
Composer安装
Wondows平台
在Wondows平台上,我们只需要下载Composer-Setup.exe并一步步安装即可。
需要注意的是,需要启用openssl配置。我们打开php目录下的php.ini,去掉extension=php_openssl.dll前面的分号。
安装成功后,我们可以通过命令窗口(cmd)输入命令composer --version来检查是否安装成功:
然后我们可以将Packagist更改为home镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
Linux 平台
Linux 平台 您可以使用以下命令安装:
# php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" # php composer-setup.php All settings correct for using Composer Downloading... Composer (version 1.6.5) successfully installed to: /root/composer.phar Use it: php composer.phar
移动composer.phar,以便composer可以进行全局调用:
# mv composer.phar /usr/local/bin/composer
切换到家庭镜像:
# composer config -g repo.packagist composer https://packagist.phpcomposer.com
更新系统composer:
# composer config -g repo.packagist composer https://packagist.phpcomposer.com
Mac OS-系统可以使用以下命令安装:
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ composer --version Composer version 1.7.2 2018-08-16 16:57:12
切换到家庭镜像:
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
更新composer:
$ composer selfupdate
使用Composer必须先使用composer。项目目录下的文件,文件描述项目的依赖关系。
文件格式如下:
{ "require": { "monolog/monolog": "1.2.*" } }
以上文件表示我们需要下载1.2以上任意版本的monologue。
然后只需运行以下命令即可安装依赖包:
composer install
require 命令
除了使用 install 命令之外,我们还可以使用 require 命令来快速安装依赖,而无需在 Composer 中手动添加.json依赖信息:
$ composer require monolog/monolog
Composer会先找到正确的版本,然后更新composer.json文件,添加所需的monologue/monologue包的相关信息,然后下载相关依赖进行安装,最后更新composer.lock文件并生成自动加载的php文件。
update 命令
update 命令用于更新项目中的所有包,或者某些指定的包:
# 更新所有依赖 $ composer update # 更新指定的包 $ composer update monolog/monolog # 更新指定的多个包 $ composer update monolog/monolog symfony/dependency-injection # 还可以通过通配符匹配包 $ composer update monolog/monolog symfony/*
需要注意的是,可以升级的包版本会受到版本限制,并且该软件包不会升级。到限制之外的版本。例如,如果composer.json中的包版本限制为^1.10,则最新版本为2.0。那么update命令就无法将包升级到2.0版本,只能升级到1.x版本。版本限制请参见下面的介绍。
remove 命令
remove 命令用于删除包及其依赖项(当依赖项未被其他包使用时)。如果依赖被其他包使用,则无法删除:
$ composer remove monolog/monolog Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 0 installs, 0 updates, 2 removals - Removing psr/log (1.0.2) - Removing monolog/monolog (1.23.0) Generating autoload files
搜索命令
搜索命令可以搜索包:
$ composer search monolog
该命令将输出包及其描述信息。如果只想打印包名,可以使用 --only-name 参数:
$ composer search --only-name monolog
show 命令
show 命令可以显示项目当前使用的包信息:
# 列出所有已经安装的包 $ composer show # 可以通过通配符进行筛选 $ composer show monolog/* # 显示具体某个包的信息 $ composer show monolog/monolog
基本限制
确切版本
我们可以告诉Composer安装的具体版本,例如:1.0.2,指定1.0.2版本。
范围
使用比较运算符指定数据包的范围。这些运算符包括:>、>=、=1.0 =1.0 =1.2
我们还可以使用连字符 - 指定版本范围。
连字符的左侧表示>=
的版本。如果右边的版本不是完整的版本号,则会用通配符补全。例如, 1.0 - 2.0
>=1.0.0 =1.0.0 =1.0 1.2❀>1.2。 .2
>=1.2.0.0-dev
>=1.2-堆栈
>=1.2.0.0-堆栈
=1.0.0.0-dev =1.3.0.0-dev.. 1.4 .*
>=1.4.0.0-dev
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。