composer常用的一些命令參數說明
安裝
curl -sS https://getcomposer.org/installer | php
或者
php -r "readfile(‘https://getcomposer.org/installer‘);" | php
全局安裝
mv composer.phar /usr/local/bin/composer
安裝中國鏡像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
忽略版本匹配
composer install/update --ignore-platform-reqs安裝插件包?
composer global require "fxp/composer-asset-plugin:1.2.0“
創建項目 create-project
你可以使用 Composer 從現有的包中創建一個新的項目。這相當於執行了一個 git clone
或 svn checkout
命令後將這個包的依賴安裝到它自己的 vendor 目錄。
此命令有幾個常見的用途:
- 你可以快速的部署你的應用。
- 你可以檢出任何資源包,並開發它的補丁。
- 多人開發項目,可以用它來加快應用的初始化。
要創建基於 Composer 的新項目,你可以使用 "create-project" 命令。傳遞一個包名,它會為你創建項目的目錄。你也可以在第三個參數中指定版本號,否則將獲取最新的版本。
如果該目錄目前不存在,則會在安裝過程中自動創建。
php composer.phar create-project doctrine/orm path 2.2.*
此外,你也可以無需使用這個命令,而是通過現有的 composer.json
文件來啟動這個項目。
默認情況下,這個命令會在 packagist.org 上查找你指定的包。
創建項目-參數
- --repository-url: 提供一個自定義的儲存庫來搜索包,這將被用來代替 packagist.org。可以是一個指向
composer
資源庫的 HTTP URL,或者是指向某個packages.json
文件的本地路徑。 - --stability (-s): 資源包的最低穩定版本,默認為
stable
- --prefer-source: 當有可用的包時,從
source
安裝。 - --prefer-dist: 當有可用的包時,從
dist
安裝。 - --dev: 安裝
require-dev
字段中列出的包。 - --no-install: 禁止安裝包的依賴。
- --no-plugins: 禁用 plugins。
- --no-scripts: 禁止在根資源包中定義的腳本執行。
- --no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
- --keep-vcs: 創建時跳過缺失的 VCS 。如果你在非交互模式下運行創建命令,這將是非常有用的。
自我更新 self-update
將 Composer 自身升級到最新版本,只需要運行 self-update
命令。它將替換你的 composer.phar
文件到最新版本。
php composer.phar self-update
如果你想要升級到一個特定的版本,可以這樣簡單的指定它:
php composer.phar self-update 1.0.0-alpha7
如果你已經為整個系統安裝 Composer(參見 全局安裝),你可能需要在 root
權限下運行它:
sudo composer self-update
自我更新-參數
- --rollback (-r): 回滾到你已經安裝的最後一個版本。
- --clean-backups: 在更新過程中刪除舊的備份,這使得更新過後的當前版本是唯一可用的備份。
搜索 search
search
命令允許你為當前項目搜索依賴包,通常它只搜索 packagist.org 上的包,你可以簡單的輸入你的搜索條件。
php composer.phar search monolog
您也可以通過傳遞多個參數來進行多條件搜索。
搜索-參數
- --only-name (-N): 僅針對指定的名稱搜索(完全匹配)。
申明依賴 require
require
命令增加新的依賴包到當前目錄的 composer.json
文件中。
php composer.phar require
在添加或改變依賴時, 修改後的依賴關系將被安裝或者更新。
如果你不希望通過交互來指定依賴包,你可以在這條令中直接指明依賴包。
php composer.phar require vendor/package:2.* vendor/package2:dev-master
申明依賴-參數
- --prefer-source: 當有可用的包時,從
source
安裝。 - --prefer-dist: 當有可用的包時,從
dist
安裝。 - --dev: 安裝
require-dev
字段中列出的包。 - --no-update: 禁用依賴關系的自動更新。
- --no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
- --update-with-dependencies 一並更新新裝包的依賴。
更新 update
為了獲取依賴的最新版本,並且升級 composer.lock
文件,你應該使用 update
命令。
php composer.phar update
這將解決項目的所有依賴,並將確切的版本號寫入 composer.lock
。
如果你只是想更新幾個包,你可以像這樣分別列出它們:
php composer.phar update vendor/package vendor/package2
你還可以使用通配符進行批量更新:
php composer.phar update vendor/*
更新-參數
- --prefer-source: 當有可用的包時,從
source
安裝。 - --prefer-dist: 當有可用的包時,從
dist
安裝。 - --dry-run: 模擬命令,並沒有做實際的操作。
- --dev: 安裝
require-dev
字段中列出的包(這是一個默認值)。 - --no-dev: 跳過
require-dev
字段中列出的包。 - --no-scripts: 跳過
composer.json
文件中定義的腳本。 - --no-plugins: 關閉 plugins。
- --no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
- --optimize-autoloader (-o): 轉換 PSR-0/4 autoloading 到 classmap 可以獲得更快的加載支持。特別是在生產環境下建議這麽做,但由於運行需要一些時間,因此並沒有作為默認值。
- --lock: 僅更新 lock 文件的 hash,取消有關 lock 文件過時的警告。
- --with-dependencies 同時更新白名單內包的依賴關系,這將進行遞歸更新。
安裝 install
install
命令從當前目錄讀取 composer.json
文件,處理了依賴關系,並把其安裝到 vendor
目錄下。
php composer.phar install
如果當前目錄下存在 composer.lock
文件,它會從此文件讀取依賴版本,而不是根據 composer.json
文件去獲取依賴。這確保了該庫的每個使用者都能得到相同的依賴版本。
如果沒有 composer.lock
文件,composer 將在處理完依賴關系後創建它。
安裝-參數
- --prefer-source: 下載包的方式有兩種:
source
和dist
。對於穩定版本 composer 將默認使用dist
方式。而source
表示版本控制源 。如果--prefer-source
是被啟用的,composer 將從source
安裝(如果有的話)。如果想要使用一個 bugfix 到你的項目,這是非常有用的。並且可以直接從本地的版本庫直接獲取依賴關系。 - --prefer-dist: 與
--prefer-source
相反,composer 將盡可能的從dist
獲取,這將大幅度的加快在 build servers 上的安裝。這也是一個回避 git 問題的途徑,如果你不清楚如何正確的設置。 - --dry-run: 如果你只是想演示而並非實際安裝一個包,你可以運行
--dry-run
命令,它將模擬安裝並顯示將會發生什麽。 - --dev: 安裝
require-dev
字段中列出的包(這是一個默認值)。 - --no-dev: 跳過
require-dev
字段中列出的包。 - --no-scripts: 跳過
composer.json
文件中定義的腳本。 - --no-plugins: 關閉 plugins。
- --no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
- --optimize-autoloader (-o): 轉換 PSR-0/4 autoloading 到 classmap 可以獲得更快的加載支持。特別是在生產環境下建議這麽做,但由於運行需要一些時間,因此並沒有作為默認值。
composer常用的一些命令\參數\說明