《PHP套件管理 – Composer cheatsheet – 學習筆記》

Telegram share !

在日常開發的時候,常常遇到臨時要下composer的一個指令,卻忘記指令的名稱,於是我想說整理一篇composer cheatsheet,一方面可以給日後的自己參考,二方面也可以讓其他開發者可以當作快速參考的頁面,也希望藉由此次分享讓初學者能更快掌握相關語法。

指令總覽

Updating autoloader

# 生成優化的自動加載文件-Generates optimized autoload files
composer dumpautoload -o	

Adding packages

# 新增package from vendor到 composer.json 的require部分並安裝它-Adds package from vendor to composer.json’s require section and installs it
composer require vendor/package

# 新增packagefromvendor到 composer.json 的require-dev部分並安裝它。-Adds package from vendor to composer.json’s require-dev section and installs it.	
composer require vendor/package --dev	

Updating packages

# 更新所有套件-Updates all packages
composer update	

# 更新所有套件及其相依套件-Updates all packages and its dependencies	
composer update --with-dependencies

# 從vendor更新某個package-Updates a certain package from vendor	
composer update vendor/package	

# 更新vendor下所有套件-Updates all packages from vendor	
composer update vendor/*

# 更新composer.lock hash而不更新任何套件-Updates composer.lock hash without updating any packages	
composer update --lock

Removing packages

# 從 composer.json 中刪除vendor/package並移除它-Removes vendor/package from composer.json and uninstalls it
composer remove vendor/package	

Verifying

# 僅顯示根套件直接需要的過時套件-Show only packages that are outdated directly required by the root package
composer outdated --direct	

Installing dependencies

# 下載並安裝文件中列出的所有庫和依賴項composer.lock。
# 如果該文件不存在,它將查找 composer.json 並執行相同的
# 操作,創建一個composer.lock文件。
composer install	

# 模擬安裝而不安裝任何東西	
composer install --dry-run	

Updating autoloader

# 生成優化的自動加載文件-Generates optimized autoload files
composer dumpautoload -o	

Other commands

composer about #顯示有​​關 Composer 的簡短信息
composer archive #將目前的Composer 上的Package封存起來
composer audit #檢查已安裝軟體套件的安全漏洞公告
composer browse #[home] 在瀏覽器中打開套件的存儲庫 URL 或主頁
composer bump #將 composer.json 要求的下限增加到當前安裝的版本
composer check-platform-reqs #檢查是否滿足平台要求
composer clear-cache #[clearcache|cc] 清除 composer 的內部包緩存
composer config --list #取得設置配置列表
composer create-project symfony/standard-edition dir/ #從套件創建新專案到指定目錄
composer depends vendor-name/package-name #[why] 顯示哪些包導致給定包被安裝
composer diagnose #診斷系統以識別常見錯誤
composer exec #執行vendored提供的binary/script
composer global #允許在全域composer目錄 ($COMPOSER_HOME) 中運行命令
composer help #顯示composer command 指令的說明
composer info #目前所在目錄的composer 套件資訊(常用)
composer init #在當前目錄中創建一個基本的 composer.json 文件
composer licenses #顯示有​​關依賴項許可證的信息
composer list #composer指令列表
composer outdated #顯示已安裝軟體套件的可更新列表,包括其最新版本(常用)
composer prohibits #檢查任何阻止我們更新 laravel/framework 套件的套件
composer remove #從 require 或 require-dev 中刪除一個套件
composer run-script #運行 composer.json 中定義的腳本
composer search my keywords #針對關鍵字搜尋packages的套件
composer self-update #將 composer.phar 更新到最新版本
composer show <Package Name># 顯示​​關於套件的詳細資訊(常用)
composer status #顯示本機被修改套件的列表
composer suggests #顯示套件建議
composer validate #驗證 composer.json 和 composer.lock

Reference