当前位置:首页>

文章详细页

Composer使用总结

分类:PHP


========== 简介

Composer是PHP用来管理依赖(dependency)关系的工具。Composer通常情况下通过composer.json文件来配置和管理依赖的。Composer允许你申明项目所依赖的代码库,Composer会在你的项目中为你安装他们。下面总结下Composer的安装和常用命令。


========== 安装

==== Linux下安装Composer

-> curl -sS https://getcomposer.org/installer | php

#在安装的目录下面运行
-> php composer.phar

#将Composer加入全局命令,后面我们就可以直接使用composer命令
-> mv composer.phar /usr/local/bin/composer
-> php composer.phar


==== Windows下安装Composer

下载并且运行 Composer-Setup.exe,安装完成后直接使用composer命令。


========== Composer实用命令

==== 全局参数,可与每一个命令结合使用
    –verbose (-v): 增加反馈信息的详细度。
    -v 表示正常输出。
    -vv 表示更详细的输出。
    -vvv 则是为了 debug。
    –help (-h): 显示帮助信息。
    –quiet (-q): 禁止输出任何信息。
    –no-interaction (-n): 不要询问任何交互问题。
    –working-dir (-d): 如果指定的话,使用给定的目录作为工作目录。
    –profile: 显示时间和内存使用信息。
    –ansi: 强制 ANSI 输出。
    –no-ansi: 关闭 ANSI 输出。
    –version (-V): 显示当前应用程序的版本信息。


==== 初始化 init
-> composer init
作用:以交互方式要求您填写一些信息,创建composer.json 文件
参数:
    –name: 包的名称。
    –description: 包的描述。
    –author: 包的作者。
    –homepage: 包的主页。
    –require: 需要依赖的其它包,必须要有一个版本约束。并且应该遵循 foo/bar:1.0.0 这样的格式。
    –require-dev: 开发版的依赖包,内容格式与 –require 相同。
    –stability (-s): minimum-stability 字段的值。


==== 安装 install
-> composer install
作用:从当前目录读取composer.json文件,处理了依赖关系并创建composer.lock 文件,并把其安装到 vendor 目录下
参数:
    –prefer-source: 下载包的方式有两种: source 和 dist。对于稳定版本 composer 将默认使用 dist 方式。而 source 表示版本控制源。如果 –prefer-source 是被启用的,composer 将从 source 安装(如果有的话)。如果想要使用一个 bugfix到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。
    –prefer-dist: 与 –prefer-source 相反,composer 将尽可能的从 dist 获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。
    –dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 –dry-run 命令,它将模拟安装并显示将会发生什么。
    –dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
    –no-dev: 跳过 require-dev 字段中列出的包。
    –no-scripts: 跳过 composer.json 文件中定义的脚本。
    –no-plugins: 关闭 plugins。
    –no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
    –optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。


==== 更新 update
-> composer update
作用:获取依赖的最新版本,并且升级 composer.lock 文件,也可以更新固定依赖,直接在update跟包名。
参数:
    –prefer-source: 当有可用的包时,从 source 安装。
    –prefer-dist: 当有可用的包时,从 dist 安装。
    –dry-run: 模拟命令,并没有做实际的操作。
    –dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
    –no-dev: 跳过 require-dev 字段中列出的包。
    –no-scripts: 跳过 composer.json 文件中定义的脚本。
    –no-plugins: 关闭 plugins。
    –no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
    –optimize-autoloader (-o): 转换 PSR-0/4autoloading到classmap可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
    –lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
    –with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。


==== 搜索 search
-> composer search
作用:从packagist.org 上搜索可用的依赖包
参数:
    –only-name (-N): 仅针对指定的名称搜索(完全匹配)。


==== 展示 show
-> composer show
作用:列出当前composer.json所有可用的软件包,也可以显示一个包的详细信息
参数:
    –installed (-i): 列出已安装的依赖包。
    –platform (-p): 仅列出平台软件包(PHP 与它的扩展)。
    –self (-s): 仅列出当前项目信息。


==== 自我更新 self-update
-> composer self-update
作用:更新Composer版本,或者回退到最后一次的版本
参数:
    –rollback (-r): 回滚到你已经安装的最后一个版本。
    –clean-backups: 在更新过程中删除旧的备份,这使得更新过后的当前版本是唯一可用的备份。


==== 获取帮助信息 help
-> composer help
作用:获取composer用法和composer命令的帮助

   
========== Composer启用国内镜像
1、系统全局配置,将配置信息添加到Composer的全局配置文件config.json中。
-> composer config -g repo.packagist composer https://packagist.phpcomposer.com

2、单个项目配置,将配置信息添加到某个项目的composer.json文件中。
-> composer config repo.packagist composer https://packagist.phpcomposer.com


也可以将以下信息手工添加到Composer的全局配置文件config.json或者某个项目的composer.json文件。

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}



国内常见镜像:

http://pkg.phpcomposer.com/    
https://toran.reimu.io/    
http://packagist.cn/