Composer (軟體)
外觀
此條目需要擴充。 (2015年2月24日) |
開發者 | Nils Adermann Jordi Boggiano |
---|---|
當前版本 |
|
源代碼庫 | |
編程語言 | PHP |
操作系統 | Cross-platform |
類型 | 軟件包管理系統 |
許可協議 | MIT許可證 |
網站 | getcomposer |
Composer是PHP的軟件包管理系統,它提供用於管理PHP軟件和依賴庫關係的標準格式,它在單個項目的基礎上進行管理,會在單個項目的某個目錄(默認是vendor)進行安裝。 它由Nils Adermann和Jordi Boggiano開發。 他們於2011年4月開始開發,並於2012年3月1日首次發布第一個版本。[2]Composer 的產生是由於受到了 Node.js 的 npm 以及 Ruby 的 bundler 的啟發。[3] 該項目的依賴關係解決算法最初是來自openSUSE的libzypp包管理器。
在中國使用composer的時候,由於網絡延遲以及防火長城問題,通常會通過鏡像使用,數據的獲取,文件的下載通過鏡像使用。
使用語法
[編輯]命令
[編輯]Composer 提供了幾個參數,包括[4]:
require
:向composer.json添加一個依賴庫,並且安裝它install
:從composer.json安裝依賴庫,通常在下載一個PHP項目的所有依賴時使用update
:根據composer.json中允許的版本範圍更新依賴庫remove
:刪除一個依賴庫,並將其從composer.json中移除self-update
:更新compsoer自身
依賴庫定義
[編輯]composer require monolog/monolog
以上命令會在composer.json中生成
{
"require": {
"monolog/monolog": "1.2.*"
}
}
指定版本
[編輯]所安裝依賴庫的版本可以由以下幾種運算符定義:[5]
運算符 | 作用 (放置在版本號前時) | 示例 |
---|---|---|
>=
|
允許高於此版本的依賴
以此類推,我們可以使用 |
"php": ">=5.5.9" 包括 PHP 7
|
!=
|
排除一個版本的依賴 | |
-
|
定義一個依賴的範圍 | |
||
|
或運算符,尋找二者中存在的版本 | "symfony/symfony": "2.8 ¦¦ 3.0" 將查找該依賴的2.8或3.0版本
|
*
|
通配符,允許一切符合要求的子版本 | "symfony/symfony": "3.1.*" 包括 3.1.1 版本
|
~
|
允許同級別的下一個版本 | "doctrine/orm": "~2.5" 包括 2.6,但是不包括 2.4 或 3.0.
|
^
|
類似於~ ,但是只允許向後兼容的版本
|
支持的框架
[編輯]- Symfony ≥ 2
- Laravel ≥ 4
- CodeIgniter ≥ 3.0
- CakePHP ≥ 3.0
- FuelPHP ≥ 2.0
- Drupal ≥ 8
- TYPO3 ≥ 6.2
- SilverStripe ≥ 3.0
- Magento ≥ 2.0
- Yii ≥ 1.1
- Zend Framework ≥ 1
- Silex
- Lumen
註解
[編輯]- ^ Release 2.8.4. 2024年12月11日 [2024年12月22日].
- ^ Release 1.0.0-alpha1 · composer/composer. GitHub. [2020-08-06]. (原始內容存檔於2019-03-27) (英語).
- ^ Introduction - Composer. getcomposer.org. [2020-08-06]. (原始內容存檔於2018-02-12).
- ^ Command-line interface / Commands - Composer. getcomposer.org. [2020-08-06]. (原始內容存檔於2020-08-04).
- ^ Versions and constraints - Composer. getcomposer.org. [2020-08-06]. (原始內容存檔於2020-09-14).