Composer安裝和使用


Composer 是 PHP 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。Composer 不是一個包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個項目的基礎上進行管理,在你項目的某個目錄中(例如 vendor)進行安裝。默認情況下它不會在全局安裝任何東西。因此,這僅僅是一個依賴管理。

對於使用者來說Composer非常的簡單,通過簡單的一條命令將需要的代碼包下載到vendor目錄下,然后開發者就可以引入包並使用了.

其中的關鍵在於你項目定義的composer.json,可以定義項目需要依賴的包(可能有多個),而依賴的包可能又依賴其他的包(這就是組件的好處),這些都不用你煩心,Composer會自動下載你需要的一切,一切在於composer.json的定義.

 

1、Composer的安裝

方法一:下載並且運行 Composer-Setup.exe,它將安裝最新版本的 Composer ,並設置好系統的環境變量,因此你可以在任何目錄下直接使用 composer 命令(這是將 Composer 安裝在你機器上的最簡單的方法,推薦使用。)

一直點下一步就安裝成功了,這里的路徑是自動加上的,如果沒有就手動加上(注:運行 Composer 需要 PHP 5.3.2+ 以上版本)

完成以后,輸入"composer -V",顯示以下畫面說明安裝成功

方法二:下載composer.phar放在php目錄中直接使用(優點:單一快捷使用composer)

如果您希望手動下載phar,則可以使用以下版本:

 我下載的是1.8.0版,在它所在目錄直接運行就可以

 

 

2、使用Composer下載thinkphp

第一步:首先要把倉庫鏡像修改成國內的,不然下載很慢

全局配置(推薦)

所有項目都會使用該鏡像地址:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config -g --unset repos.packagist

項目配置

僅修改當前工程配置,僅當前工程可使用該鏡像地址:

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config --unset repos.packagist

使用composer config -g -l查看配置,結果如下,它已經改了鏡像地址

第二步:下載think

打開Packagist搜索think

運行這行代碼,它就會自動下載think,注:如果不寫上ThinkPHP版本,它會下載最新版(tp6)

 

下面指定下載tp5.1的最新版本(指定版本5.1.*,指定目錄名稱tp5.1)

composer create-project topthink/think tp5.1 5.1.*

 

 

 3安裝依賴包

方法一:使用composer.phar安裝

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

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

{
    "require": {
        "monolog/monolog": "^2.0"
    }
}

你可以看到, require 需要一個 包名稱 (例如 monolog/monolog) 映射到 包版本 (例如 ^.2.0) 的對象。

編寫完composer.json(必須),加上composer.phar

 獲取定義的依賴到你的本地項目,只需要調用 composer.phar 運行 install 命令。

php composer.phar install

接着前面的例子,這將會找到 monolog/monolog 的最新版本,並將它下載到 vendor 目錄。 這是一個慣例把第三方的代碼到一個指定的目錄 vendor。如果是 monolog 將會創建 vendor/monolog/monolog 目錄。

如果你不想使用composer.phar,在項目加上composer.json(必須),在所在項目運行以下代碼:

composer install

 

方法二:Packagist搜索monolog,直接在網站根目錄運行composer require monolog/monolog(無需composer.json和composer.phar,會自動創建json文件

包版本

在前面的例子中,我們引入的 monolog 版本指定為 ^2.0。這表示任何從 2.0 開始的開發分支,它將會匹配2.0.0或者2.0.1

版本約束可以用幾個不同的方法來指定。

 

總結

1、composer.json
composer.json文件中保存的是我們安裝的組件及組件的版本要求。

2、comopser.lock
composer.lock文件中保存的是組件及其依賴的具體版本,在多人協同開發的情況下,這個文件能很好的解決組件不同而產生的問題。在使用composer install的時候是不會修改composer.lock這個文件,所以會把這個文件也放入版本管理中,其它人在使用時只需要composer install就可以了。而使用composer update后修改這個文件。

綜上所述:
composer.lock這個文件主要是解決在協同開發中組件及其依賴的版本記錄,防止不同人使用的組件及依賴版本不同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM