安裝使用composer基本流程

composer工做原理:php

這裏通過幾個步驟:
1.composer讀取composer.json(這個文件手動創建,官網有格式),這個json是在當前執行composer目錄的,若是目錄下沒有這個json文件,程序能夠在安裝模塊的時候選擇自動創建這個文件thinkphp

{
    "require": {
        "monolog/monolog": "1.0.*",(多模塊個的話須要用到這個逗號)
        "monolog/monolog": "1.0.*"
    }
}

 官方原版的是這樣的:json

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

 

2.composer經過讀取到的json數據去Packagist.org獲取各個包的包名、做者、下載URL等信息。下載URL常常是GitHub上面的,由於目錄的代碼大部分都託管在GitHub上面嘛.windows

3.將從Packagist.org獲取到的元數據存放到當前目錄的composer.lock中.composer

4.composer讀取composer.lock中的元數據,根據元數據一次下載包,而且放到當前目錄的vender目錄裏面.ui

composer有很多經常使用的命令,好比composer install 、composer update、composer require。這三個命令都是會下載php類庫的,composer update 會將步驟一、二、三、4都執行一遍,因此下載的類庫是composer.json配置中匹配搭配的最新類庫,而composer install,只是執行步驟4。url

composer require 會將配置寫入composer.json,而後執行步驟一、二、三、4或許你會問,如何知道不一樣的包他們的配置是怎麼寫的,這個你就要去Packagist.org了,每一個開源項目都會有安裝和使用方法的。spa

咱們通常安裝使用composer的步驟是:操作系統

1.windows操做系統下首先下載安裝文件: https://getcomposer.org/Composer-Setup.exe.安裝的時候會有個目錄的選擇,選擇你當前使用的php執行文件就好了.安裝過程當中要修改你的PHP.INI文件,其實就是在裏面把php_openssl.dll的功能給打開了而已,安裝完畢會提示你重啓系統以便讓系統環境生效.還有一種更簡單的安裝方法,就是隻下載composer.phar可執行文件,運行這個文件能夠實現與運行composer相同的效果,可是這樣不會本身修改系統相關文件和環境變量,在這裏就不採用這種方法了..net

2.系統重啓後php運行目錄和composer運行目錄已經被自動加到系統環境變量當中去了.在dos下運行composer會有版本信息和可執行的指令顯示出來,表示安裝成功.

3.在項目根目錄下新建composer.json文件,若是沒有手動創建這個文件的話也能夠在安裝包的時候由系統本身創建.執行composer生成composer.lock文件.若是安裝太慢能夠把數據倉庫改爲國內全鏡量的網址,能夠提升下載速度.修改方式有兩種:

第一種是修改全局參數:

修改前查看當前鏡像的方式:composer config -gl。 修改後再查看一下確認是否安裝成功。
composer config -g repo.packagist composer https://packagist.phpcomposer.com

第二種是隻修改當前項目的配置, 先進入你的項目的根目錄(也就是 composer.json 文件所在目錄),而後執行以下命令:

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

上述操做會在你的composer.json文件最後添加如下內容(你也能夠手動添加):

//下面兩個紅色的大括號是手動創建composer.json文件時手動加的,整個文件的內容爲下面的代碼就能夠正常使用國內的鏡像了
{
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
}

 4.通常只有第一次安裝的時候用composer install指令,其它時候都應該用composer require指令,這個指令若是沒有指令安裝哪一個包,系統會有提示讓你選擇搜索哪一個包。千萬不要用composer updata指令,這個指令沒有指定安裝哪一個包的話會把你的全部包和相關的依賴文件都更新到新版本,會形成已開發系統的不穩定.composer.json和composer.lock都不要手動修改,須要修改的話用composer require指令修改並執行.例如升級某個模塊及其依賴包的版本或者是安裝新的擴展包.舉個例子以下:

 5.若是某個包不使用了須要刪除的話,先用composer show 指令查看已安裝的包的完整名稱,而後用"composer remove 完整包名"來刪除這個包,同時會把這個包的相關依賴文件及文件夾一併刪除.

 各類安裝方式的簡單解釋:

composer install - 若有 composer.lock 文件,直接安裝,不然從 composer.json 安裝最新擴展包和依賴;
composer update - 從 composer.json 安裝最新擴展包和依賴;
composer update vendor/package - 從 composer.json 或者對應包的配置,並更新到最新;
composer require new/package - 添加安裝 new/package, 能夠指定版本,如: composer require new/package ~2.5.

 

備註:若是某個包因版本問題沒法安裝,確認版本沒問題後能夠在安裝的時候加上參數:--ignore-platform-reqs 忽略版本號安裝。

參考文檔:

官網: https://getcomposer.org/

快速入門: https://www.kancloud.cn/huizong/composer/284036

中文文檔: https://www.kancloud.cn/thinkphp/composer/35669

官方元數據倉庫: https://packagist.org/

中國全量鏡像: https://pkg.phpcomposer.com/

正確的 Composer 擴展包安裝方法: http://blog.csdn.net/xianglingchuan/article/details/51930960

相關文章
相關標籤/搜索