Composer更新慢的終極解決方案-轉

轉自:http://blog.csdn.net/fishermanmax/article/details/51975692

Packagist 鏡像

請各位使用本鏡像的同窗注意:php

本鏡像已經依照 composer 官方的數據源安全策略徹底升級並支持 https 協議!請各位同窗 按照下面所示的兩個方法將 http://packagist.phpcomposer.com 修改成https://packagist.phpcomposer.comcss

還沒安裝 Composer 嗎?請往下看如何安裝 Composer 。linux

用法:

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

  • 系統全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。見「例1」
  • 單個項目配置: 將配置信息添加到某個項目的 composer.json 文件中。見「例2」

例1:修改 composer 的全局配置文件(推薦方式)git

打開命令行窗口(windows用戶)或控制檯(Linux、Mac 用戶)並執行以下命令:github

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

例2:修改當前項目的 composer.json 配置文件:json

打開命令行窗口(windows用戶)或控制檯(Linux、Mac 用戶),進入你的項目的根目錄(也就是composer.json 文件所在目錄),執行以下命令:windows

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

上述命令將會在當前項目中的 composer.json 文件的末尾自動添加鏡像的配置信息(你也能夠本身手工添加):緩存

"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } 

以 laravel 項目的 composer.json 配置文件爲例,執行上述命令後以下所示(注意最後幾行):安全

{
    "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "type": "project", "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "symfony/css-selector": "2.8.*|3.0.*", "symfony/dom-crawler": "2.8.*|3.0.*" }, "autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/" } }, "autoload-dev": { "classmap": [ "tests/TestCase.php" ] }, "scripts": { "post-root-package-install": [ "php -r \"copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "php artisan key:generate" ], "post-install-cmd": [ "php artisan clear-compiled", "php artisan optimize" ], "pre-update-cmd": [ "php artisan clear-compiled" ], "post-update-cmd": [ "php artisan optimize" ] }, "config": { "preferred-install": "dist" }, "repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } } 

OK,一切搞定!試一下 composer install 來體驗飛通常的速度吧!

鏡像說明:

通常狀況下,安裝包的數據(主要是 zip 文件)通常是從 github.com 上下載的,安裝包的元數據是從packagist.org 上下載的。

然而,因爲衆所周知的緣由,國外的網站鏈接速度很慢,而且隨時可能被「牆」甚至「不存在」。

「Packagist 中國全量鏡像」所作的就是緩存全部安裝包和元數據到國內的機房並經過國內的 CDN 進行加速,這樣就沒必要再去向國外的網站發起請求,從而達到加速 composer install 以及 composer update 的過程,而且更加快速、穩定。所以,即便 packagist.orggithub.com 發生故障(主要是鏈接速度太慢和被牆),你仍然能夠下載、更新安裝包。

 

如何安裝 Composer

安裝前請務必確保已經正確安裝了 PHP。打開命令行窗口並執行 PHP -v 查看是否正確輸出版本號。

打開命令行並執行下列命令安裝最新版本的 Composer (如下指令摘自 https://getcomposer.org/download/ ,請前往查看最新的安裝指令):

php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php php composer-setup.php php -r "unlink('composer-setup.php');" 

執行第一條命令下載下來的 composer-setup.php 腳本將簡單的檢測 php.ini 中的參數設置,若是某些參數未正確設置則會給出警告;而後下載最新版本的 composer.phar 文件到當前目錄。

上述 3 條命令的做用依次是:

  1. 下載安裝腳本(composer-setup.php)到當前目錄。
  2. 執行安裝過程。
  3. 刪除安裝腳本 -- composer-setup.php 。

局部安裝

上述下載 Composer 的過程正確執行完畢後,能夠將 composer.phar 文件複製到任意目錄(好比項目根目錄下),而後經過 php composer.phar 指令便可使用 Composer 了!

全局安裝

全局安裝是將 Composer 安裝到系統環境變量 PATH 所包含的路徑下面,而後就可以在命令行窗口中直接執行 composer 命令了。

Mac 或 Linux 系統:打開命令行窗口並執行以下命令將前面下載的 composer.phar 文件移動到/usr/local/bin/ 目錄下面:

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

Windows 系統:

  1. 找到並進入 PHP 的安裝目錄(和你在命令行中執行的 php 指令應該是同一套 PHP)。
  2. 將 composer.phar 複製到 PHP 的安裝目錄下面,也就是和 php.exe 在同一級目錄。
  3. 在 PHP 安裝目錄下新建一個 composer.bat 文件,並將下列代碼保存到此文件中。
@php "%~dp0composer.phar" %* 

最後從新打開一個命令行窗口試一試執行 composer --version 看看是否正確輸出版本號。

最後

提示:不要忘了常常執行 composer selfupdate 以保持 Composer 一直是最新版本哦!

相關文章
相關標籤/搜索