Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每一个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认状况下它不会在全局安装任何东西。所以,这仅仅是一个依赖管理。是PHP依赖管理工具。
php最低版本5.3.2,开启了openssl扩展。php
1.linux下安装composerhtml
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
或者将其下载到本地。linux
2.windows下安装composerlaravel
下载而且运行 [Composer-Setup.exe][1],它将安装最新版本的 Composer ,并设置好系统的环境变量,所以你能够在任何目录下直接使用 composer 命令。redis
1.修改composer地址到中国镜像json
//修改当前的项目
composer config repo.packagist composer https://packagist.phpcomposer.com
//或者直接修改composer.json文件
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}windows
2.composer.json文件的编写缓存
{ "name": "laravel/laravel", //项目名称 "description": "The Laravel Framework.", //项目描述 "keywords": ["framework", "laravel"], //关键字 "license": "MIT", //许可证 "version": "1.0.0", //版本 "type": "library", //安装类型 "homepage": "http://******" //项目主页 "authors": [ //做者相关信息 { "name": "***", "email": "644****24@qq.com" } ], /* * 依赖管理 * 这表示任何从 1.0 开始的开发分支,它将会匹配 1.0.0、1.0.2 或者 1.0.20 * ~1.2 至关于 >=1.2,<2.0,而 ~1.2.3 至关于 >=1.2.3,<1.3 * 找到的都是最新的版本 */ "require": { "monolog/monolog": "1.0.*", "phpoffice/phpexcel": "dev-master", "smarty/smarty": "~3.1", "colinmollenhour/credis": "1.8.*", "elasticsearch/elasticsearch": "5.3.*" } /* * composer自动加载方式 * 1.PSR-4 标准规范,php-fig * 2.Class-map 扫描指定的文件或者目录 */ "autoload": { "classmap": [ "database" ], "psr-4": { "core\\": "core/", "apps\\": "apps/" }, "files": [ "common/define.php", "common/function.php" ], }, /* * 脚本 * 只有在根包的 composer.json 中定义的脚本才会被执行 */ "scripts": { //在 create-project 命令期间,根包安装完成后触发。 "post-root-package-install": [ ], //在 create-project 命令执行后触发。 "post-create-project-cmd": [ ], //在 install 命令执行后触发。 "post-install-cmd": [ ], //在 update 命令执行前 "pre-update-cmd": [ ], //在 update 命令执行后 "post-update-cmd": [ "rm -rf /home/dev/runtime/blog" //删除博客的缓存信息 ] }, }
composer list 列出全部可用的命令 composer init 初始化composer.json文件(就不劳咱们本身费力建立啦),会要求输入一些信息来描述咱们当前的项目,还会要求输入依赖包 composer install 读取composer.json内容,解析依赖关系,安装依赖包到vendor目录下 composer update 更新最新的依赖关系到compsoer.lock文件,解析最新的依赖关系而且写入composer.lock文件 composer search packagename 搜索包,packagename替换为你想查找的包名称 composer require packagename 添加对packagename的依赖,packagename可修改成你想要的包名称 composer show packagename composer self-update 更新 composer.phar文件自身 composer dump-autoload --optimize 优化一下自动加载 composer command --help 以上全部命令均可以添加 --help选项查看帮助信息