Composer是PHP用来管理依赖(dependency)关系的工具。Composer通常情况下通过composer.json文件来配置和管理依赖的。Composer允许你申明项目所依赖的代码库,Composer会在你的项目中为你安装他们。下面PHP程序员雷雪松详细的讲解下Composer的安装和常用命令。
Linux下安装Composer
1、安装Composer
[root@PHP ~]# curl -sS https://getcomposer.org/installer | php
All settings correctforusing Composer
Downloading...
Composer (version1.4.2) successfully installed to: /root/composer.phar
Useit:phpcomposer.phar
2、如果不想加入全局命令,则只需要在安装的目录下面运行php composer.phar(php命令已经加入全局命令中)
[root@PHP ~]# php composer.phar
Composer version1.4.22017-05-1708:17:52
3、将Composer加入全局命令,后面我们就可以直接使用composer命令
[root@PHP~]# mv composer.phar /usr/local/bin/composer
[root@PHP~]# php composer.phar
Composer version1.4.22017-05-1708:17:52
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): 显示当前应用程序的版本信息。
1、初始化 init-以交互方式要求您填写一些信息,创建composer.json 文件
composer init
参数
–name: 包的名称。
–description: 包的描述。
–author: 包的作者。
–homepage: 包的主页。
–require: 需要依赖的其它包,必须要有一个版本约束。并且应该遵循 foo/bar:1.0.0 这样的格式。
–require-dev: 开发版的依赖包,内容格式与 –require 相同。
–stability (-s): minimum-stability 字段的值。
2、安装 install -从当前目录读取composer.json文件,处理了依赖关系并创建composer.lock 文件,并把其安装到 vendor 目录下
composer install
参数
–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 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
3、更新 update-获取依赖的最新版本,并且升级 composer.lock 文件,也可以更新固定依赖,直接在update跟包名。
composer 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/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
–lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
–with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。
4、搜索 search- 从packagist.org 上搜索可用的依赖包
composer search
参数
–only-name (-N): 仅针对指定的名称搜索(完全匹配)。
5、展示 show-列出当前composer.json所有可用的软件包,也可以显示一个包的详细信息
composer show
参数
–installed (-i): 列出已安装的依赖包。
–platform (-p): 仅列出平台软件包(PHP 与它的扩展)。
–self (-s): 仅列出当前项目信息。
6、自我更新 self-update-更新Composer版本,或者回退到最后一次的版本
composerself-update
参数
–rollback (-r): 回滚到你已经安装的最后一个版本。
–clean-backups: 在更新过程中删除旧的备份,这使得更新过后的当前版本是唯一可用的备份。
7、获取帮助信息 help-获取composer用法和composer命令的帮助
composer help
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"
}
}
以上内容希望帮助到大家,有需要的可以添加下方二维码进群交流学习新技术。
如果你想和PHP大神交流,添加微信,拉你入群
如果你想获得更多学习资料,添加微信,送你资源
领取专属 10元无门槛券
私享最新 技术干货
玻璃钢生产厂家景观玻璃钢雕塑平台哪个好玻璃钢雕塑工厂定制玻璃钢雕塑是最优的玻璃钢立体雕塑曲阳玻璃钢雕塑制作玻璃钢军人雕塑厂家价格辽源观音玻璃钢雕塑厂家铜仁玻璃钢雕塑厂家龙岩玻璃钢仿真水果雕塑玻璃钢雕塑厂批发广州定制玻璃钢人物雕塑工业玻璃钢雕塑摆件开发玻璃钢树脂雕塑玻璃钢花盆材料设计通渭玻璃钢雕塑哪家好上海玻璃钢海豚雕塑价格博尔塔拉玻璃钢雕塑设计广东玻璃钢雕塑摆件市场天河玻璃钢雕塑厂家商场夏季美陈解说青岛玻璃钢雕塑浮雕厂佛山革命主题玻璃钢雕塑保山市玻璃钢雕塑供应商济南番禺玻璃钢人物雕塑商场美陈布置深圳欧式人物玻璃钢雕塑哪家专业新乡不锈钢仿古玻璃钢景观雕塑甘南玻璃钢卡通雕塑萍乡玻璃钢雕塑供应商上海玻璃钢马雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万