下面由composer教程欄目帶大家介紹composer常用的一些命令參數(shù)說明,希望對需要的朋友有所幫助!
安裝
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“
創(chuàng)建項目?create-project
你可以使用 Composer 從現(xiàn)有的包中創(chuàng)建一個新的項目。這相當于執(zhí)行了一個?git clone?或?svn checkout?命令后將這個包的依賴安裝到它自己的 vendor 目錄。
此命令有幾個常見的用途:
- 你可以快速的部署你的應用。
- 你可以檢出任何資源包,并開發(fā)它的補丁。
- 多人開發(fā)項目,可以用它來加快應用的初始化。
要創(chuàng)建基于 Composer 的新項目,你可以使用 “create-project” 命令。傳遞一個包名,它會為你創(chuàng)建項目的目錄。你也可以在第三個參數(shù)中指定版本號,否則將獲取最新的版本。
如果該目錄目前不存在,則會在安裝過程中自動創(chuàng)建。
php composer.phar create-project doctrine/orm path 2.2.*
此外,你也可以無需使用這個命令,而是通過現(xiàn)有的?composer.json?文件來啟動這個項目。
默認情況下,這個命令會在 packagist.org 上查找你指定的包。
創(chuàng)建項目-參數(shù)
- –repository-url:?提供一個自定義的儲存庫來搜索包,這將被用來代替 packagist.org。可以是一個指向?composer?資源庫的 HTTP URL,或者是指向某個?packages.json?文件的本地路徑。
- –stability (-s):?資源包的最低穩(wěn)定版本,默認為?stable。
- –prefer-source:?當有可用的包時,從?source?安裝。
- –prefer-dist:?當有可用的包時,從?dist?安裝。
- –dev:?安裝?require-dev?字段中列出的包。
- –no-install:?禁止安裝包的依賴。
- –no-plugins:?禁用 plugins。
- –no-scripts:?禁止在根資源包中定義的腳本執(zhí)行。
- –no-progress:?移除進度信息,這可以避免一些不處理換行的終端或腳本出現(xiàn)混亂的顯示。
- –keep-vcs:?創(chuàng)建時跳過缺失的 VCS 。如果你在非交互模式下運行創(chuàng)建命令,這將是非常有用的。
自我更新?self-update
將 Composer 自身升級到最新版本,只需要運行?self-update?命令。它將替換你的?composer.phar?文件到最新版本。
php composer.phar self-update
如果你想要升級到一個特定的版本,可以這樣簡單的指定它:
php composer.phar self-update 1.0.0-alpha7
如果你已經(jīng)為整個系統(tǒng)安裝 Composer(參見?全局安裝),你可能需要在?root?權限下運行它:
sudo composer self-update
自我更新-參數(shù)
- –rollback (-r):?回滾到你已經(jīng)安裝的最后一個版本。
- –clean-backups:?在更新過程中刪除舊的備份,這使得更新過后的當前版本是唯一可用的備份。
搜索?search
search?命令允許你為當前項目搜索依賴包,通常它只搜索 packagist.org 上的包,你可以簡單的輸入你的搜索條件。
php composer.phar search monolog
您也可以通過傳遞多個參數(shù)來進行多條件搜索。
搜索-參數(shù)
- –only-name (-N):?僅針對指定的名稱搜索(完全匹配)。
申明依賴?require
require?命令增加新的依賴包到當前目錄的?composer.json?文件中。
php composer.phar require
在添加或改變依賴時, 修改后的依賴關系將被安裝或者更新。
如果你不希望通過交互來指定依賴包,你可以在這條令中直接指明依賴包。
php composer.phar require vendor/package:2.* vendor/package2:dev-master
申明依賴-參數(shù)
- –prefer-source:?當有可用的包時,從?source?安裝。
- –prefer-dist:?當有可用的包時,從?dist?安裝。
- –dev:?安裝?require-dev?字段中列出的包。
- –no-update:?禁用依賴關系的自動更新。
- –no-progress:?移除進度信息,這可以避免一些不處理換行的終端或腳本出現(xiàn)混亂的顯示。
- –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/*
更新-參數(shù)
- –prefer-source:?當有可用的包時,從?source?安裝。
- –prefer-dist:?當有可用的包時,從?dist?安裝。
- –dry-run:?模擬命令,并沒有做實際的操作。
- –dev:?安裝?require-dev?字段中列出的包(這是一個默認值)。
- –no-dev:?跳過?require-dev?字段中列出的包。
- –no-scripts:?跳過?composer.json?文件中定義的腳本。
- –no-plugins:?關閉 plugins。
- –no-progress:?移除進度信息,這可以避免一些不處理換行的終端或腳本出現(xiàn)混亂的顯示。
- –optimize-autoloader (-o):?轉(zhuǎn)換 PSR-0/4 autoloading 到 classmap 可以獲得更快的加載支持。特別是在生產(chǎn)環(huán)境下建議這么做,但由于運行需要一些時間,因此并沒有作為默認值。
- –lock:?僅更新 lock 文件的 hash,取消有關 lock 文件過時的警告。
- –with-dependencies?同時更新白名單內(nèi)包的依賴關系,這將進行遞歸更新。
安裝?install
install?命令從當前目錄讀取?composer.json?文件,處理了依賴關系,并把其安裝到?vendor?目錄下。
php composer.phar install
如果當前目錄下存在?composer.lock?文件,它會從此文件讀取依賴版本,而不是根據(jù)?composer.json?文件去獲取依賴。這確保了該庫的每個使用者都能得到相同的依賴版本。
如果沒有?composer.lock?文件,composer 將在處理完依賴關系后創(chuàng)建它。
安裝-參數(shù)
- –prefer-source:?下載包的方式有兩種:?source?和?dist。對于穩(wěn)定版本 composer 將默認使用?dist?方式。而?source?表示版本控制源 。如果?–prefer-source?是被啟用的,composer 將從?source?安裝(如果有的話)。如果想要使用一個 bugfix 到你的項目,這是非常有用的。并且可以直接從本地的版本庫直接獲取依賴關系。
- –prefer-dist:?與?–prefer-source?相反,composer 將盡可能的從?dist?獲取,這將大幅度的加快在 build servers 上的安裝。這也是一個回避 git 問題的途徑,如果你不清楚如何正確的設置。
- –dry-run:?如果你只是想演示而并非實際安裝一個包,你可以運行?–dry-run?命令,它將模擬安裝并顯示將會發(fā)生什么。
- –dev:?安裝?require-dev?字段中列出的包(這是一個默認值)。
- –no-dev:?跳過?require-dev?字段中列出的包。
- –no-scripts:?跳過?composer.json?文件中定義的腳本。
- –no-plugins:?關閉 plugins。
- –no-progress:?移除進度信息,這可以避免一些不處理換行的終端或腳本出現(xiàn)混亂的顯示。
- –optimize-autoloader (-o):?轉(zhuǎn)換 PSR-0/4 autoloading 到 classmap 可以獲得更快的加載支持。特別是在生產(chǎn)環(huán)境下建議這么做,但由于運行需要一些時間,因此并沒有作為默認值。