composer命令整理

composer與PHP composer.phar

下列參數可與每一個命令結合使用:

--verbose (-v): 增加反饋信息的詳細度。
-v 表示正常輸出。
-vv 表示更詳細的輸出。
-vvv 則是爲了 debug。
--help (-h): 顯示幫助信息。
--quiet (-q): 禁止輸出任何信息。
--no-interaction (-n): 不要詢問任何交互問題。
--working-dir (-d): 如果指定的話,使用給定的目錄作爲工作目錄。
--profile: 顯示時間和內存使用信息。
--ansi: 強制 ANSI 輸出。
--no-ansi: 關閉 ANSI 輸出。
--version (-V): 顯示當前應用程序的版本信息。

初始化

php composer.phar init

初始化-參數
--name: 包的名稱。
--description: 包的描述。
--author: 包的作者。
--homepage: 包的主頁。
--require: 需要依賴的其它包,必須要有一個版本約束。並且應該遵循 foo/bar:1.0.0 這樣的格式。
--require-dev: 開發版的依賴包,內容格式與 --require 相同。
--stability (-s): minimum-stability 字段的值。

安裝install

php composer.phar install

安裝-參數
--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 install --ignore-platform-reqs

composer update --ignore-platform-reqs

更新update

php composer.phar update

更新-參數
--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 同時更新白名單內包的依賴關係,這將進行遞歸更新。

申明依賴require

require 命令增加新的依賴包到當前目錄的 composer.json 文件中。

php composer.phar  require

申明依賴-參數
--prefer-source: 當有可用的包時,從 source 安裝。
--prefer-dist: 當有可用的包時,從 dist 安裝。
--dev: 安裝 require-dev 字段中列出的包。
--no-update: 禁用依賴關係的自動更新。
--no-progress: 移除進度信息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
--update-with-dependencies 一併更新新裝包的依賴。

全局執行global

php composer.phar global update

搜索search

search 命令允許你爲當前項目搜索依賴包,通常它只搜索 packagist.org 上的包,你可以簡單的輸入你的搜索條件。

php composer.phar search monolog

搜索-參數
--only-name (-N): 僅針對指定的名稱搜索(完全匹配)。

展示show

列出所有可用的軟件包,你可以使用 show 命令。

php composer.phar show

展示-參數
--installed (-i): 列出已安裝的依賴包。
--platform (-p): 僅列出平臺軟件包(PHP 與它的擴展)。
--self (-s): 僅列出當前項目信息。

依賴性檢測depends

depends 命令可以查出已安裝在你項目中的某個包,是否正在被其它的包所依賴,並列出他們。

php composer.phar depends --link-type=require monolog/monolog

依賴性檢測-參數
--link-type: 檢測的類型,默認爲 require 也可以是 require-dev。

有效性檢測validate

在提交 composer.json 文件,和創建 tag 前,你應該始終運行 validate 命令。它將檢測你的 composer.json文件是否是有效的

php composer.phar validate
有效性檢測參數
--no-check-all: Composer 是否進行完整的校驗。

依賴包狀態檢測status

如果你經常修改依賴包裏的代碼,並且它們是從 source(自定義源)進行安裝的,那麼 status 命令允許你進行檢查,如果你有任何本地的更改它將會給予提示。

php composer.phar status

自我更新self-update

將 Composer 自身升級到最新版本,只需要運行 self-update 命令。它將替換你的 composer.phar 文件到最新版本。

php composer.phar self-update
如果你想要升級到一個特定的版本,可以這樣簡單的指定它:

php composer.phar self-update 1.0.0-alpha7

自我更新-參數
--rollback (-r): 回滾到你已經安裝的最後一個版本。
--clean-backups: 在更新過程中刪除舊的備份,這使得更新過後的當前版本是唯一可用的備份。

更新配置config

config 命令允許你編輯 Composer 的一些基本設置,無論是本地的 composer.json 或者全局的 config.json文件。

php composer.phar config --list

更改配置-參數
--global (-g): 操作位於 $COMPOSER_HOME/config.json 的全局配置文件。如果不指定該參數,此命令將影響當前項目的 composer.json 文件,或 --file 參數所指向的文件。
--editor (-e): 使用文本編輯器打開 composer.json 文件。默認情況下始終是打開當前項目的文件。當存在 --global 參數時,將會打開全局 composer.json 文件。
--unset: 移除由 setting-key 指定名稱的配置選項。
--list (-l): 顯示當前配置選項的列表。當存在 --global 參數時,將會顯示全局配置選項的列表。
--file="..." (-f): 在一個指定的文件上操作,而不是 composer.json。注意:不能與 --global 參數一起使用。

創建項目create-project

你可以使用 Composer 從現有的包中創建一個新的項目。這相當於執行了一個 git clone 或 svn checkout 命令後將這個包的依賴安裝到它自己的 vendor 目錄。

此命令有幾個常見的用途:

  1. 你可以快速的部署你的應用。
  2. 你可以檢出任何資源包,並開發它的補丁。
  3. 多人開發項目,可以用它來加快應用的初始化。

要創建基於 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 。如果你在非交互模式下運行創建命令,這將是非常有用的。

打印自動加載索引 dump-autoload

某些情況下你需要更新 autoloader,例如在你的包中加入了一個新的類。你可以使用 dump-autoload 來完成,而不必執行 install 或 update 命令。

此外,它可以打印一個優化過的,符合 PSR-0/4 規範的類的索引,這也是出於對性能的可考慮。在大型的應用中會有許多類文件,而 autoloader 會佔用每個請求的很大一部分時間,使用 classmaps 或許在開發時不太方便,但它在保證性能的前提下,仍然可以獲得 PSR-0/4 規範帶來的便利。

打印自動加載索引-參數

  • --optimize (-o): 轉換 PSR-0/4 autoloading 到 classmap 獲得更快的載入速度。這特別適用於生產環境,但可能需要一些時間來運行,因此它目前不是默認設置。
  • --no-dev: 禁用 autoload-dev 規則。

診斷 diagnose

如果你覺得發現了一個 bug 或是程序行爲變得怪異,你可能需要運行 diagnose 命令,來幫助你檢測一些常見的問題。

php composer.phar diagnose

歸檔 archive

此命令用來對指定包的指定版本進行 zip/tar 歸檔。它也可以用來歸檔你的整個項目,不包括 excluded/ignored(排除/忽略)的文件。

php composer.phar archive vendor/package 2.0.21 --format=zip

歸檔-參數

  • --format (-f): 指定歸檔格式:tar 或 zip(默認爲 tar)。
  • --dir: 指定歸檔存放的目錄(默認爲當前目錄)。

獲取幫助信息 help

使用 help 可以獲取指定命令的幫助信息。

php composer.phar help install

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章