Packagist 鏡像

Packagist 鏡像

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

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

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

用法:

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

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

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

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

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

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

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

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

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

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

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

{
    "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 一直是最新版本哦!

相關文章
相關標籤/搜索