1. 程式人生 > >composer常用的一些命令參數說明

composer常用的一些命令參數說明

到你 lob 新的 path 檢出 想要 pro 什麽 arc

安裝


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

自我更新 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: 下載包的方式有兩種: sourcedist。對於穩定版本 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常用的一些命令\參數\說明