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