Composer 不是一個包管理器。是的,它涉及 "packages" 和 "libraries",但它在每一個項目的基礎上進行管理,在你項目的某個目錄中(例如 vendor)進行安裝。默認狀況下它不會在全局安裝任何東西。所以,這僅僅是一個依賴管理。是PHP依賴管理工具。
php最低版本5.3.2,開啓了openssl擴展。php
1.linux下安裝composerhtml
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
或者將其下載到本地。linux
2.windows下安裝composerlaravel
下載而且運行 [Composer-Setup.exe][1],它將安裝最新版本的 Composer ,並設置好系統的環境變量,所以你能夠在任何目錄下直接使用 composer 命令。redis
1.修改composer地址到中國鏡像json
//修改當前的項目
composer config repo.packagist composer https://packagist.phpcomposer.com
//或者直接修改composer.json文件
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}windows
2.composer.json文件的編寫緩存
{ "name": "laravel/laravel", //項目名稱 "description": "The Laravel Framework.", //項目描述 "keywords": ["framework", "laravel"], //關鍵字 "license": "MIT", //許可證 "version": "1.0.0", //版本 "type": "library", //安裝類型 "homepage": "http://******" //項目主頁 "authors": [ //做者相關信息 { "name": "***", "email": "644****24@qq.com" } ], /* * 依賴管理 * 這表示任何從 1.0 開始的開發分支,它將會匹配 1.0.0、1.0.2 或者 1.0.20 * ~1.2 至關於 >=1.2,<2.0,而 ~1.2.3 至關於 >=1.2.3,<1.3 * 找到的都是最新的版本 */ "require": { "monolog/monolog": "1.0.*", "phpoffice/phpexcel": "dev-master", "smarty/smarty": "~3.1", "colinmollenhour/credis": "1.8.*", "elasticsearch/elasticsearch": "5.3.*" } /* * composer自動加載方式 * 1.PSR-4 標準規範,php-fig * 2.Class-map 掃描指定的文件或者目錄 */ "autoload": { "classmap": [ "database" ], "psr-4": { "core\\": "core/", "apps\\": "apps/" }, "files": [ "common/define.php", "common/function.php" ], }, /* * 腳本 * 只有在根包的 composer.json 中定義的腳本纔會被執行 */ "scripts": { //在 create-project 命令期間,根包安裝完成後觸發。 "post-root-package-install": [ ], //在 create-project 命令執行後觸發。 "post-create-project-cmd": [ ], //在 install 命令執行後觸發。 "post-install-cmd": [ ], //在 update 命令執行前 "pre-update-cmd": [ ], //在 update 命令執行後 "post-update-cmd": [ "rm -rf /home/dev/runtime/blog" //刪除博客的緩存信息 ] }, }
composer list 列出全部可用的命令 composer init 初始化composer.json文件(就不勞咱們本身費力建立啦),會要求輸入一些信息來描述咱們當前的項目,還會要求輸入依賴包 composer install 讀取composer.json內容,解析依賴關係,安裝依賴包到vendor目錄下 composer update 更新最新的依賴關係到compsoer.lock文件,解析最新的依賴關係而且寫入composer.lock文件 composer search packagename 搜索包,packagename替換爲你想查找的包名稱 composer require packagename 添加對packagename的依賴,packagename可修改成你想要的包名稱 composer show packagename composer self-update 更新 composer.phar文件自身 composer dump-autoload --optimize 優化一下自動加載 composer command --help 以上全部命令均可以添加 --help選項查看幫助信息