解決Composer國內速度慢的辦法

原文地址:http://muxucao.cn/news-132.htmlphp

用法:html

有兩種方式啓用本鏡像服務:laravel

1 將如下配置信息添加到 Composer 的配置文件 config.json 中(系統全局配置)。見「例1」git

2 將如下配置信息添加到你的項目的 composer.json 文件中(針對單個項目配置)。見「例2」github

爲了不安裝包的時候都要執行兩次查詢,切記要添加禁用 packagist 的設置,以下json

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 文件(若是沒有就本身建立一個),而後增長本鏡像服務的配置信息,最終內容以下:app

1
2
3
4
5
6
7
{
     "config" : {
     },
     "repositories" : [
         { "type" "composer" "url" "http://pkg.phpcomposer.com/repo/packagist/" },
         { "packagist" false }
     ]}

例2,以 laravel 項目的 composer.json 配置文件爲例,添加本鏡像服務配置信息後以下所示(注意最後幾行):composer

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/

相關文章
相關標籤/搜索