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

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

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

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

一、查看当前镜像地址

在命令行输入如下命令,即可查看镜像地址:

$composer config -g repo.packagist
{"type":"composer","url":"https://packagist.org","allow_ssl_downgrade":true}

也可以使用 composer config -l -g 查看所有全局配置

二、启用中国全量镜像服务:

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

1. 系统全局配置:

即将配置信息添加到 Composer 的全局配置文件 config.json 中。修改composer的全局配置文件(推荐方式),打开命令行并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

2. 单个项目配置:

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

"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 文件,并进行基础信息配置:

$composer init
可以配置Package name、Description、Author、Minimum、Package Type、License、dependencies 及 dev dependencies 信息。
完成后配置文件内容如下:
{
"name": "test/test",
"description": "test init",
"type": "library",
"license": "License Description",
"authors": [
{
"name": "mayanlong",
"email": "json_vip@163.com"}
],
"require": {}}
search(搜索)
根据名称搜索相关的包,成功后会列出符合的相关包的信息,本处以搜索 monolog 为例:
$ 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 为例:
$ 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 依赖库,如下:
{
"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
如果只想安装或更新一个依赖,可以使用如下命令:
$ composer update monolog/monolog [...]
require (申明依赖)
我们也可以用命令直接添加依赖,可以根据自己的需要选择拉取的版本,执行该命令后将自动下载,命令如下:
$composer require symfony/http-foundation
$composer require "symfony/http-foundation @dev"
$composer require "symfony/http-foundation 4.0"
$composer require "symfony/http-foundation ~4.0"
$composer require "symfony/http-foundation ^4.0"
clear-chache (清除本地缓存)
安装一个包后过,就会缓存该包到本地,再次下载会优先从本地获取,如果不需要可以清掉这些本地缓存,命令如下:
$ composer clear-cache
Cache directory does not exist (cache-vcs-dir):
Clearing cache (cache-repo-dir): /root/.composer/cache/repo
Clearing cache (cache-files-dir): /root/.composer/cache/files
Clearing cache (cache-dir): /root/.composer/cache
All caches cleared.
--version(查看版本)
该命令用于用于查看 Composer 版本信息,命令如下:
$ composer --version
Composer version 1.5.2 2017-09-11 16:59:25
self-update (更新版本)
Composer 用了一段时间后,发现使用后会提示更新版本,命令如下:
$ composer self-update
Updating to version 1.5.6 (stable channel).
Downloading (100%)
Use composer self-update --rollback to return to version 1.5.2
如果该版本有问题或者想用之前版本,可以回退到之前的版本,命令如下:
$ composer self-update --rollback 1.5.2
Rolling back to version 2017-09-11_16-59-25-1.5.2.