一、简介
-
Composer
是PHP
是PHP5.3
以上的一个依赖管理工具,你可以在自己的项目中声明所依赖的外部工具库(libraries)
,Composer
会安装这些依赖的库文件 -
Composer
默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。 -
Composer
需要PHP 5.3.2+
以上版本,且需要开启openssl
。 -
Composer
可运行在Windows
、Linux
、OSX
平台上。 -
Composer
仅仅是一个依赖关系的管理,如同在iOS
开发中使用的CocoaPods
,前端开发中使用的NPM
。
二、安装
-
安装前需确保系统
PHP
版本在5.3
以上$ php -v // 例如: dengzemiaodeMacBook-Pro:~ dengzemiao$ php -v PHP 7.1.23 (cli) (built: Feb 22 2019 22:08:13) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
-
查看
PHP
是否开启openssl
$ php -m ... openssl ...
-
手动安装
: Composer 文档 里面有安装流程,就按着文档敲几行命令就能安装成功,或者看这个 手动安装教程。 -
Homebrew 安装
:通过 Homebrew 进行安装Composer
,这种方式安装Composer
属于全局安装,composer
命令可以在全局使用。$ brew install composer
$ composer -v ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.0.9 2021-01-27 16:09:27
三、镜像使用
-
全局镜像
-
设置,选一个镜像源使用即可
国内镜像源
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
Laravel 镜像源
$ composer config -g repo.packagist composer https://packagist.laravel-china.org
阿里云镜像源
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
-
取消设置
$ composer config -g --unset repos.packagist
-
-
项目配置,仅当前工程可使用该镜像,不是特殊情况,一般全局就够用了
-
设置,镜像源上面全局都列出来了
$ composer config repo.packagist composer https://mirrors.aliyun.com/composer/
-
取消设置
$ composer config --unset repos.packagist
-
四、项目使用
-
要使用
Composer
,需要先在项目的目录下创建一个composer.json
文件,文件描述了项目的依赖关系。{ "require": { "monolog/monolog": "1.2.*" } }
以上文件说明我们需要下载从
1.2
开始的任何版本的monolog
。 -
安装依赖包:
$ composer install
-
移除安装包
$ composer remove monolog/monolog
-
require
命令,除了使用install
命令外,也可以使用require
命令快速的安装一个依赖而不需要手动在composer.json
里添加依赖信息。$ composer require monolog/monolog
Composer
会先找到合适的版本,然后更新composer.json
文件,在require
那添加monolog/monolog
包的相关信息,再把相关的依赖下载下来进行安装,最后更新composer.lock
文件并生成php
的自动加载文件。
五、其他常用命令
-
查看版本信息,以及所有命令介绍
$ composer -v
-
创建项目,创建一个名称为
test
的thinkPHP
项目$ composer create-project topthink/think test
-
search
命令$ composer search monolog
该命令会输出包及其描述信息,如果只想输出包名可以使用
--only-name
参数:$ composer search --only-name monolog
-
show
命令:// 列出所有已经安装的包 $ composer show // 可以通过通配符进行筛选 $ composer show monolog/* // 显示具体某个包的信息 $ composer show monolog/monolog
-
下载依赖(全局安装)
$ composer install
-
更新依赖
// 更新所有依赖 $ composer update // 更新指定的包 $ composer update monolog/monolog // 更新指定的多个包 $ composer update monolog/monolog symfony/dependency-injection // 还可以通过通配符匹配包 $ composer update monolog/monolog symfony/*
-
升级到最新版本,如果有则更新到最新版本
$ composer selfupdate
-
诊断命令
$ composer diagnose
-
清除缓存
$ composer clear
-
若项目之前已通过其他源安装,则需要更新 composer.lock 文件
$ composer update --lock