laravel - Composer 安装

Composer 安装(一)

一、简介

Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

二、为什么要使用Composer

你有一个项目依赖于若干个库。
其中一些库依赖于其他库。
你声明你所依赖的东西。
Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

三、安装方式

通用安装方式(Win、Linux、Mac都能用),使用composer.phar文件(其实就是下载composer.phar文件,不需要翻墙)

  • 直接下载composer.phar文件
    composer下载

  • 打开命令行并执行下列命令安装最新版本的 Composer

1
2
3
4
5
6
uiste:~ uiste$ php -r "readfile('https://getcomposer.org/installer');" | php
All settings correct for using Composer
Downloading 1.2.1...

Composer successfully installed to: /Users/uiste/composer.phar
Use it: php composer.phar

这将检查一些PHP的设置,然后下载composer.phar到当前工作目录中。这是Composer的二进制文件。这是一个PHAR 包(PHP 的归档),这是PHP的归档格式可以帮助用户在命令行中执行一些操作。

  • 检测是否安装成功
    输入如下命令,如果成功则出现以下信息:
1
2
3
4
5
6
7
8
9
10
11
12
uiste:~ uiste$ php composer.phar
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.2.1 2015-09-12 11:27:19
.
.
.
___

局部安装和全局安装

四、局部安装

上述下载Composer的过程正确执行完毕后,可以将composer.phar文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用Composer了!

五、全局安装

全局安装是将Composer安装到系统环境变量PATH所包含的路径下面,然后就能够在命令行窗口中直接执行composer命令了。

  1. Mac或Linux系统

打开命令行窗口并执行如下命令将前面下载的composer.phar文件移动到 /usr/local/bin/ 目录下面:

sudo mv composer.phar /usr/local/bin/composer

1
2
3
4
5
6
7
8
9
uiste:~ uiste$ sudo mv composer.phar /usr/local/bin/composer

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
  1. Win系统

找到并进入PHP的安装目录(和你在命令行中执行的php指令应该是同一套PHP)。
将 composer.phar 复制到PHP的安装目录下面,也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。
@php “%~dp0composer.phar” %*

  1. 检测全局安装是否成功
1
2
uiste:~ uiste$ composer --version
Composer version 1.2.1 2015-09-12 11:27:19

Composer 中国全量镜像(二)

为什么要使用Composer中国全量镜像?

一般情况下,安装包的数据(主要是 zip 文件)是从 github.com 上下载的,安装包的元数据是从 packagist.org 上下载的。

然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”。

“Composer 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,这样我们使用Composer时就会更加快速、稳定。

查看当前镜像地址

在命令行输入如下命令,即可查看镜像地址:composer config -l -g 查看所有全局配置

1
2
3
4
uiste:~ uiste$ composer config -l -g
[repositories.packagist.type] composer
[repositories.packagist.url] https?://packagist.org
[repositories.packagist.allow_ssl_downgrade] true

启用中国全量镜像服务

启用中国全量镜像服务有两种方式,具体配置方法如下:

  1. 系统全局配置:
    即将配置信息添加到 Composer 的全局配置文件 config.json 中。修改composer的全局配置文件(推荐方式),打开命令行并执行如下命令:
    uiste:~ uiste$ composer config -g repo.packagist composer https://packagist.phpcomposer.com

  2. 单个项目配置:
    即将将配置信息添加到某个项目的 composer.json 文件中。修改当前项目的composer.json配置文件有两种方式,最后都是向文件中添加如下配置信息:

1
2
3
4
5
6
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}

2.1 打开命令行并进入项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
该命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息
2.2 手动向composer.json文件中添加以上信息

Composer 常用命令总结(三)

init(初始化)

该命令用于创建 composer.json 文件,并进行基础信息配置:
uiste:~ uiste$ composer init

1
2
3
4
5
6
7
8
9
10
uiste:~ uiste$ composer init


Welcome to the Composer config generator



This command will guide you through creating your composer.json config.

Package name (<vendor>/<name>) [uiste/uiste]:

可以配置Package name、Description、Author、Minimum、Package Type、License、dependencies 及 dev dependencies 信息。

完成后配置文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"name": "test/test",
"description": "test init",
"type": "library",
"license": "License Description",
"authors": [
{
"name": "mayanlong",
"email": "json_vip@163.com"
}
],
"require": {}
}

search(搜索)

根据名称搜索相关的包,成功后会列出符合的相关包的信息,本处以搜索 monolog 为例:

1
2
3
$ composer search monolog 
monolog/monolog Sends your logs to files, sockets, inboxes, databases and various web services
kdyby/monolog Integration of Monolog into Nette Framework

show(详情)

根据包的名称,列出包的相关信息,本处以查看 monolog/monolog 为例:

1
2
3
4
5
$ composer show -all monolog/monolog
name : monolog/monolog
descrip. : Sends your logs to files, sockets, inboxes, databases and various web services
keywords : log, logging, psr-3
versions : dev-master, 2.0.x-dev, 1.x-dev, 1.21.0, 1.20.0, 1.19.0, 1.18.2, 1.18.1, 1.18.0, 1.17.2, 1.17.1, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.1, 1.13.0, 1.12.0, 1.11.0, 1.10.0, 1.9.1, 1.9.0, 1.8.0, 1.7.0, 1.6.0, 1.5.0, 1.4.1, 1.4.0, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.2, 1.0.1, 1.0.0, 1.0.0-RC1

想查看更多信息,就亲自将该命令复制到命令行执行吧。

install (安装)

先在 composer.json 配置中添加一个 monolog/monolog 依赖库,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"name": "test/test",
"description": "test init",
"type": "library",
"license": "License Description",
"authors": [
{
"name": "mayanlong",
"email": "json_vip@163.com"
}
],
"require": {
"monolog/monolog": "1.21.*",
}
}

然后通过如下命令进行安装依赖

$ composer install

update (更新)

如果我们新增或者删除了某个依赖,可以通过如下命令进行更新

$ composer update

require (申明依赖)

我们也可以用命令直接添加依赖,执行该命令后将自动下载,命令如下:

$ composer require symfony/http-foundation

composer中文网