相關(guān): pear的安裝與使用
composer安裝與使用:
是 PHP 用來(lái)管理依賴(lài)(dependency)關(guān)系的工具。你可以在自己的項(xiàng)目中聲明所依賴(lài)的外部工具庫(kù)(libraries),Composer 會(huì)幫你安裝這些依賴(lài)的庫(kù)文件。
還提供了自動(dòng)加載的支持。這就涉及到php-fig組織的PSR規(guī)范了, 目前比較通用的是PSR-4。
windos下安裝composer:
安裝參考
記得把C:\Users\hasee\AppData\Roaming\Composer\vendor\bin添加進(jìn)全局變量path
使windos下能夠全局使用composer命令.
centos下安裝composer:
//下載phar二進(jìn)制可執(zhí)行文件:
curl -sS http://getcomposer.org/installer | php
//移動(dòng)到合理位置
cp composer.phar /usr/local/bin/composer
//添加全局composer
vim /etc/profile
PATH=/usr/local/bin:$PATH
export PATH
source /etc/profile
//嘗試運(yùn)行
composer
安裝的ERROR與解決:
安裝composer 提示php5.dll丟失
[解決:] http://www.jb51.net/dll/php5.dll.html
但是是dll版本與網(wǎng)頁(yè)中放置的相反
將下載的源換為國(guó)內(nèi)的:
//更換composer插件源, 部分源可能會(huì)出現(xiàn)需要密碼驗(yàn)證
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer update命令的注意事項(xiàng):
轉(zhuǎn)載laravel創(chuàng)始人summer編寫(xiě)
composer使用解釋:
基本命令解釋:
composer install
-- 如有 composer.lock 文件,直接安裝,
否則從 composer.json 安裝最新擴(kuò)展包和依賴(lài),并生成lock
composer update
-- 從 composer.json 安裝最新擴(kuò)展包和依賴(lài);
composer update vendor/package
-- 從 composer.json 獲取對(duì)應(yīng)包的配置,如果不是最新則更新到最新;
composer require new/package
-- 添加安裝 new/package, 可以指定版本,如:
composer require new/package ~2.5.
項(xiàng)目使用流程:
初始化項(xiàng)目后則可以開(kāi)始使用composer來(lái)管理項(xiàng)目中的插件(項(xiàng)目初始化會(huì)攜帶一個(gè)項(xiàng)目目錄下的composer.phar, cmd需要切換到項(xiàng)目目錄下運(yùn)行composer針對(duì)項(xiàng)目管控)。
如果是TP項(xiàng)目的話插件下載到liary下的vendor, 如果是laravel項(xiàng)目的話app/libs。
- 流程一:在新項(xiàng)目中添加插件
創(chuàng)建 composer.json,并添加依賴(lài)到的擴(kuò)展包;
運(yùn)行 composer install,安裝擴(kuò)展包并生成 composer.lock;
提交 composer.lock 到代碼版本控制器中,如:git;
流程二:項(xiàng)目協(xié)作者安裝現(xiàn)有項(xiàng)目
克隆項(xiàng)目后,根目錄下直接運(yùn)行 composer install 從 composer.lock 中安裝 指定版本 的擴(kuò)展包以及其依賴(lài);
此流程適用于生產(chǎn)環(huán)境代碼的部署。流程三:為項(xiàng)目添加新擴(kuò)展包
使用 composer require vendor/package 添加擴(kuò)展包;
基于此次require 會(huì)更新composer.lock文件, 此時(shí)更新的文件也要更新其他環(huán)境, 并且重新在其他環(huán)境運(yùn)行install。
Composer 的命令技巧
有效性檢測(cè) validate
在提交 composer.json 文件,和創(chuàng)建 tag 前,你應(yīng)該始終運(yùn)行 validate 命令。它將檢測(cè)你的 composer.json 文件是否是有效的
composer validate
基于composer.json的修改更新composer.lock
當(dāng)composer.json進(jìn)行了了修改, 你增加或更新了細(xì)節(jié)信息,比如庫(kù)的描述、作者、更多參數(shù),甚至僅僅增加了一個(gè)空格,都會(huì)改變文件的md5sum。然后Composer就會(huì)警告你哈希值和composer.lock中記載的不同, 想要composer.lock根據(jù)composer.json的修改來(lái)更新哈希值而不出現(xiàn)警告, 并且不更新任何庫(kù), 可以使用以下命令。
composer update nothing
初始化-- create-project
這個(gè)命令會(huì)自動(dòng)克隆倉(cāng)庫(kù),并檢出指定的版本??寺?kù)的時(shí)候用這個(gè)命令很方便,不需要搜尋原始的URI了。
composer create-project
//開(kāi)始一個(gè)TP5 項(xiàng)目:
composer create-project topthink/think blog-tp5 --prefer-dist
//開(kāi)始一個(gè)laravel項(xiàng)目:
composer create-project laravel/laravel blog-laravel
//開(kāi)始一個(gè)TP3項(xiàng)目:
composer create-project topthink/thinkphp your-project-name
//開(kāi)始一個(gè)TP5項(xiàng)目:
composer create-project topthink/think tp5 --prefer-dist
//開(kāi)始一個(gè) yii 項(xiàng)目:
composer create-project yiisoft/yii2-app-basic blog-yii --prefer-dist
Composer 安裝插件時(shí)要求輸入授權(quán)用戶名密碼的問(wèn)題
composer require "overtrue/laravel-socialite:~2.0"
Authentication required (packagist.phpcomposer.com):
Username:
解決方法:composer config -g repo.packagist composer https://packagist.laravel-china.org (換源)