composer的安裝與使用

相關(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 (換源)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Mac 或 Linux 系統(tǒng):打開(kāi)命令行窗口并執(zhí)行如下命令: curl -sS http://install.ph...
    yahveyeye閱讀 399評(píng)論 0 0
  • 1.簡(jiǎn)介 composer是PHP用來(lái)管理依賴(lài)關(guān)系的工具,是用于協(xié)助安裝 PHP包的軟件 2.下載路徑 https...
    煒哲1120閱讀 322評(píng)論 0 1
  • 是什么 如果你知道yum、apt-get、npm、bower等命令中的一種或者多種,那么,你也能很快知道compo...
    旱魃一樣閱讀 3,374評(píng)論 0 9
  • Composer是一個(gè)非常流行的PHP包依賴(lài)管理工具,已經(jīng)取代PEAR包管理器,對(duì)于PHP開(kāi)發(fā)者來(lái)說(shuō)掌握Compo...
    bycall閱讀 2,447評(píng)論 0 1
  • 在composer的概念中呢,我們已經(jīng)了解到composer究竟是干什么的,然后也了解到,有了composer之后...
    布爾教育閱讀 2,751評(píng)論 0 6

友情鏈接更多精彩內(nèi)容