下载并且运行 Composer-Setup.exe(https://getcomposer.org/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 来安装项目的依赖。新建一个conposer.json:
内容如下:
{
"require": {
"monolog/monolog": "1.0.*"
}
}
要解决和下载依赖,请执行 install 命令:
php composer.phar install
如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替:
composer install
这个命令从当前目录读取 composer.json 文件,获取并处理依赖关系,然后将包安装到 vendor 目录下。如果当前目录下存在 composer.lock 文件,它会从lock文件读取依赖版本,而不是利用 composer.json 文件去获取依赖关系。这确保了该库的每个使用者都能得到相同的依赖版本(适合线上环境)。
如果没有 composer.lock 文件,composer 将在获取并且处理完依赖关系后再创建它。
composer update
如果是要获取依赖的最新版本,并且升级 composer.lock 文件里的依赖版本,你应该使用 composer update 或者 php composer.phar update命令。这将解决项目的所有依赖,并将最新依赖的版本号写入 composer.lock文件里面。
composer install命令(主要)用于生产环境,composer.lock会记录项目当前版本信息,当执行install命令时,会检测lock文件的版本与最新版本差别,如果有则更新到最新版。而composer update命令也会执行上述所讲,但是如果在composer.json文件添加库到require字段时,就必须用composer update命令了。但这时会更新其他库的内容,此时如果只是添加某个库而不更新其他库(例如生产环境),就要使用composer require "包名:版本号" 命令了。composer init --require=包名:版本号 -n 还可以自动更新composer.json。
composer update:一般是在开发阶段使用,根据我们在composer.json文件中指定的内容升级项目的依赖包。composer install:主要是在部署线上环境阶段使用,以便在生产环境和开发环境使用的都是composer.lock文件中相同的依赖项,保证线上部署环境与本地开发环境的一致性。
除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:
require 'vendor/autoload.php';
composer serch laravel;
composer show -all laravel;