相关: pear的安装与使用
composer安装与使用:
是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
还提供了自动加载的支持。这就涉及到php-fig组织的PSR规范了, 目前比较通用的是PSR-4。
windos下安装composer:
安装参考
记得把C:\Users\hasee\AppData\Roaming\Composer\vendor\bin添加进全局变量path
使windos下能够全局使用composer命令.
centos下安装composer:
//下载phar二进制可执行文件:
curl -sS http://getcomposer.org/installer | php
//移动到合理位置
cp composer.phar /usr/local/bin/composer
//添加全局composer
vim /etc/profile
PATH=/usr/local/bin:$PATH
export PATH
source /etc/profile
//尝试运行
composer
安装的ERROR与解决:
安装composer 提示php5.dll丢失
[解决:] http://www.jb51.net/dll/php5.dll.html
但是是dll版本与网页中放置的相反
将下载的源换为国内的:
//更换composer插件源, 部分源可能会出现需要密码验证
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer update命令的注意事项:
composer使用解释:
基本命令解释:
composer install
-- 如有 composer.lock 文件,直接安装,
否则从 composer.json 安装最新扩展包和依赖,并生成lock
composer update
-- 从 composer.json 安装最新扩展包和依赖;
composer update vendor/package
-- 从 composer.json 获取对应包的配置,如果不是最新则更新到最新;
composer require new/package
-- 添加安装 new/package, 可以指定版本,如:
composer require new/package ~2.5.
项目使用流程:
初始化项目后则可以开始使用composer来管理项目中的插件(项目初始化会携带一个项目目录下的composer.phar, cmd需要切换到项目目录下运行composer针对项目管控)。
如果是TP项目的话插件下载到liary下的vendor, 如果是laravel项目的话app/libs。
- 流程一:在新项目中添加插件
创建 composer.json,并添加依赖到的扩展包;
运行 composer install,安装扩展包并生成 composer.lock;
提交 composer.lock 到代码版本控制器中,如:git;
流程二:项目协作者安装现有项目
克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖;
此流程适用于生产环境代码的部署。
流程三:为项目添加新扩展包
使用 composer require vendor/package 添加扩展包;
基于此次require 会更新composer.lock文件, 此时更新的文件也要更新其他环境, 并且重新在其他环境运行install。
Composer 的命令技巧
有效性检测 validate
在提交 composer.json 文件,和创建 tag 前,你应该始终运行 validate 命令。它将检测你的 composer.json 文件是否是有效的
composer validate
基于composer.json的修改更新composer.lock
当composer.json进行了了修改, 你增加或更新了细节信息,比如库的描述、作者、更多参数,甚至仅仅增加了一个空格,都会改变文件的md5sum。然后Composer就会警告你哈希值和composer.lock中记载的不同, 想要composer.lock根据composer.json的修改来更新哈希值而不出现警告, 并且不更新任何库, 可以使用以下命令。
composer update nothing
初始化-- create-project
这个命令会自动克隆仓库,并检出指定的版本。克隆库的时候用这个命令很方便,不需要搜寻原始的URI了。
composer create-project
//开始一个TP5 项目:
composer create-project topthink/think blog-tp5 --prefer-dist
//开始一个laravel项目:
composer create-project laravel/laravel blog-laravel
//开始一个TP3项目:
composer create-project topthink/thinkphp your-project-name
//开始一个TP5项目:
composer create-project topthink/think tp5 --prefer-dist
//开始一个 yii 项目:
composer create-project yiisoft/yii2-app-basic blog-yii --prefer-dist
Composer 安装插件时要求输入授权用户名密码的问题
composer require "overtrue/laravel-socialite:~2.0"
Authentication required (packagist.phpcomposer.com):
Username:
解决方法:composer config -g repo.packagist composer https://packagist.laravel-china.org (换源)