Composer 不是包管理器
仅仅是一个依赖管理 解决问题
. 有一个项目依赖于若干个库
.其中一些库依赖于其他库
. 声明 所依赖的东西
.Composer 会找出哪个版本的包需要安装 并安装它们(下载到 的项目中)
声明依赖关系
需要一个库来做日志记录 决定使用 monolog为了将它添加到 的项目中 所需要做的就是创建一个 composer.json 文件 其中描述了项目的依赖关系
{ "require": { "monolog/monolog": "1.2.*" }}
只要指出 项目需要一些 monolog/monolog 的包 从 1.2 开始的任何版本
系统要求
运行 Composer 需要 PHP 5.3.2+ 以上版本一些敏感的 PHP 设置和编译标志也是必须的 但对于任何不兼容项安装程序都会抛出警告
将从包的来源直接安装 而不是简单的下载 zip 文件 需要 git svn 或者 hg 这取决于 载入的包所使用的版本管理系统
Composer 是多平台的 努力使它在 Windows Linux 以及 OSX 平台上运行的同样出色
安装 - *nix
下载 Composer 的可执行文件
局部安装
要真正获取 Composer 需要做两件事首先安装 Composer
curl -sS https://getcomposer.org/installer | php
如果上述方法由于某些原因失败了 还可以通过
php -r "readfile('https://getcomposer.org/installer');" | php
这检查一些 PHP 的设置 然后下载 composer.phar 到 的工作目录中这是 Composer 的二进制文件这是一个 PHAR 包(PHP 的归档) 这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作
可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
全局安装
可以将此文件放在任何地方如果 把它放在系统的 PATH 目录中 就能在全局访问它 在类Unix系统中 甚至可以在使用时不加 php 前缀
可以执行这些命令让 composer 在 的系统中进行全局调用 curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
如果上诉命令因为权限执行失败 请使用 sudo 再次尝试运行 mv 那行命令
现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar
全局安装 (on OSX via homebrew)
Composer 是 homebrew-php 项目的一部分
brew update
brew tap josegonzalez/homebrew-php
brew tap homebrew/versions
brew install php55-intl
brew install josegonzalez/php/composer
安装 - Windows
使用安装程序
这是将 Composer 安装在 机器上的最简单的方法
下载并且运行 Composer-Setup.exe 它将安装最新版本的 Composer 并设置好系统的环境变量 因此 可以在任何目录下直接使用 composer 命令
手动安装
设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件:
C:\\Users\\username>cd C:\\bin
C:\\bin>php -r "readfile('https://getcomposer.org/installer');" | php
如果收到 readfile 错误提示 请使用 http 链接或者在 php.ini 中开启 php_openssl.dll
在 composer.phar 同级目录下新建文件 composer.bat :
C:\\bin>echo @php "%~dp0composer.phar" %*>composer.bat
关闭当前的命令行窗口 打开新的命令行窗口进行测试:
C:\\Users\\username>composer -V
Composer version 27d8904
使用 Composer
现在 将使用 Composer 来安装项目的依赖如果在当前目录下没有一个 composer.json 文件 请查看基本用法章节
要解决和下载赖 请执行 install 命令:
php composer.phar install
如果 进行了全局安装 并且没有 phar 文件在当前目录 请使用下面的命令代替:
composer install
继续 上面的例子 这里将下载 monolog 到 vendor/monolog/monolog 目录
自动加载
除了库的下载 Composer 还准备了一个自动加载文件
它可以加载 Composer 下载的库中所有的类文件使用它 只需要将下面这行代码添加到 项目的引导文件中
require 'vendor/autoload.php';
现在 就可以使用 monolog 了!想要学习更多关于 Composer 的知识 请查看“基本用法”章节
千年的回眸
Composer 报错
Your github oauth token for github.com contains invalid characters: "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"
升级 Composer 就正常了
由于Composer 1.x版本过低,所以升级到最新2.0版本即可解决上述问题
下载 Composer
安装前请务必确保已经正确安装了 PHP 打开命令行窗口并执行 php -v 查看是否正确输出版本号。
打开命令行并依次执行下列命令安装最新版本的 Composer
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
执行第一条命令下载下来的 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置
如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。
上述 3 条命令的作用依次是:
下载安装脚本 - composer-setup.php - 到当前目录。
执行安装过程 删除安装脚本
局部安装
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件到任意目录(比如项目根目录下)
然后通过 php composer.phar 指令即可使用 Composer 了!
全局安装
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了
Mac 或 Linux 系统
打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
将 composer.phar 到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号。
最后
不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!
关于升级 Composer
Composer 升级时是无法利用我们的镜像加速下载的,而必须连接到 Composer 国外官网的服务器上下载升级文件,某些时候就会导致升级的速度非常慢甚至失败。
如果系统中已经有可以正常使用的 Composer 了
说明系统环境是符合要求的,那么只需要下载新的 Composer 文件并覆盖原来的文件即可
首先你要确定现有的 Composer 的安装目录,然后通过下面的链接下载 composer.phar 文件(以下地址到浏览器地址栏可直接下载),
//install.phpcomposer.com/composer.phar
将前面下载的 composer.phar 文件覆盖系统中已经安装的 composer.phar 文件即可。注意,有可能在安装时将 composer.phar 改名为 composer 了,注意用同样的名字覆盖即可。
原文链接
//blog.csdn.net/veloi/article/details/117048848