1. 程式人生 > >composer的應用與Packagist 鏡像使用方法

composer的應用與Packagist 鏡像使用方法

國內 docs lar 好的 供應商 原理 需要 code key

安裝

安裝 Composer,你只需要下載 composer.phar 可執行文件。

curl -sS https://getcomposer.org/installer | php

詳細請查看 簡介 章節。

要檢查 Composer 是否正常工作,只需要通過 php 來執行 PHAR:

php composer.phar

這將返回給你一個可執行的命令列表。

註意: 你也可以僅執行 --check 選項而無需下載 Composer。 要獲取更多的信息請使用 --help

curl -sS https://getcomposer.org/installer | php -- --help

composer.json
:項目安裝

要開始在你的項目中使用 Composer,你只需要一個 composer.json 文件。該文件包含了項目的依賴和其它的一些元數據。

這個 JSON format 是很容易編寫的。它允許你定義嵌套結構。

關於 require Key

第一件事情(並且往往只需要做這一件事),你需要在 composer.json 文件中指定 require key 的值。你只需要簡單的告訴 Composer 你的項目需要依賴哪些包。

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

你可以看到, require 需要一個 包名稱 (例如 monolog/monolog

) 映射到 包版本 (例如 1.0.*) 的對象。

包名稱

包名稱由供應商名稱和其項目名稱構成。通常容易產生相同的項目名稱,而供應商名稱的存在則很好的解決了命名沖突的問題。它允許兩個不同的人創建同樣名為 json 的庫,而之後它們將被命名為 igorw/jsonseldaek/json

這裏我們需要引入 monolog/monolog,供應商名稱與項目的名稱相同,對於一個具有唯一名稱的項目,我們推薦這麽做。它還允許以後在同一個命名空間添加更多的相關項目。如果你維護著一個庫,這將使你可以很容易的把它分離成更小的部分。

Packagist 鏡像使用方法

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

鏡像用法

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

  • 系統全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。見“方法一”
  • 單個項目配置: 將配置信息添加到某個項目的 composer.json 文件中。見“方法二”

方法一: 修改 composer 的全局配置文件(推薦方式)

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

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

方法二: 修改當前項目的 composer.json 配置文件:

打開命令行窗口(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 配置文件為例,執行上述命令後如下所示(註意最後幾行):

復制
{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*"
    },
    "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的應用與Packagist 鏡像使用方法