原文地址:http://muxucao.cn/news-132.html
用法:
有兩種方式啟用本鏡像服務:
1 將以下配置信息添加到 Composer 的配置文件 config.json 中(系統全局配置)。見“例1”
2 將以下配置信息添加到你的項目的 composer.json 文件中(針對單個項目配置)。見“例2”
為了避免安裝包的時候都要執行兩次查詢,切記要添加禁用 packagist 的設置,如下
1
2
3
4
5
|
{
"repositories"
: [
{
"type"
:
"composer"
,
"url"
:
"http://pkg.phpcomposer.com/repo/packagist/"
},
{
"packagist"
:
false
}
]}
|
例1,修改 composer 的配置文件
查看 composer 主目錄:通過 composer config -l -g 命令可以列出 composer 的全局配置信息,在這些信息中查找 [home] 配置項就是 composer 的主目錄。Linux 用戶請執行 sudo composer config -l -g 命令。
進入 composer 的主目錄,打開 config.json 文件(如果沒有就自己創建一個),然后增加本鏡像服務的配置信息,最終內容如下:
1
2
3
4
5
6
7
|
{
"config"
: {
},
"repositories"
: [
{
"type"
:
"composer"
,
"url"
:
"http://pkg.phpcomposer.com/repo/packagist/"
},
{
"packagist"
:
false
}
]}
|
例2,以 laravel 項目的 composer.json 配置文件為例,添加本鏡像服務配置信息后如下所示(注意最后幾行):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
{
"name"
:
"laravel/laravel"
,
"description"
:
"The Laravel Framework."
,
"keywords"
: [
"framework"
,
"laravel"
],
"license"
:
"MIT"
,
"type"
:
"project"
,
"require"
: {
"laravel/framework"
:
"4.2.*"
},
"autoload"
: {
"classmap"
: [
"app/commands"
,
"app/controllers"
,
"app/models"
,
"app/database/migrations"
,
"app/database/seeds"
,
"app/tests/TestCase.php"
]
},
"scripts"
: {
"post-install-cmd"
: [
"php artisan clear-compiled"
,
"php artisan optimize"
],
"post-update-cmd"
: [
"php artisan clear-compiled"
,
"php artisan optimize"
],
"post-create-project-cmd"
: [
"php artisan key:generate"
]
},
"config"
: {
"preferred-install"
:
"dist"
},
"minimum-stability"
:
"stable"
,
"repositories"
: [
{
"type"
:
"composer"
,
"url"
:
"http://pkg.phpcomposer.com/repo/packagist/"
},
{
"packagist"
:
false
}
]}
|
說明:
使用本鏡像服務就意味着下載的所有的安裝包元數據都將來自本鏡像服務,而不再向 packagist.org 發起請求。這將加速 Composer 的安裝過程,並且更加可靠、快速。(由於眾所周知的原因,國外的網站連接速度太慢,並且隨時可能被牆)
一般情況下,安裝包的數據(zip 文件等)一般是從 GitHub 或其他第三方服務器上下載的,使用本鏡像服務后,我們會緩存所有安裝包到國內的機房,這樣就不必再去向國外的網站發起請求,因此,即使 packagist.org、github.com 或其他第三方服務發生故障(主要是連接速度太慢和被牆),你仍然可以下載、更新安裝包。
Composer中國鏡像:http://pkg.phpcomposer.com/