成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何正確使用 Composer 安裝 Laravel 擴(kuò)展包

BlackMass / 3518人閱讀

摘要:流程一新項目流程創(chuàng)建,并添加依賴到的擴(kuò)展包運(yùn)行,安裝擴(kuò)展包并生成提交到代碼版本控制器中,如流程二項目協(xié)作者安裝現(xiàn)有項目克隆項目后,根目錄下直接運(yùn)行從中安裝指定版本的擴(kuò)展包以及其依賴此流程適用于生產(chǎn)環(huán)境代碼的部署。

本文經(jīng)授權(quán)轉(zhuǎn)自 PHPHub 社區(qū)

問題說明

我們經(jīng)常要往現(xiàn)有的項目中添加擴(kuò)展包,有時候因?yàn)槲臋n的錯誤引導(dǎo),如下圖來自 這個文檔 的:

composer update 這個命令在我們現(xiàn)在的邏輯中,可能會對項目造成巨大傷害。

因?yàn)?composer update 的邏輯是按照 composer.json 指定的擴(kuò)展包版本規(guī)則,把所有擴(kuò)展包更新到最新版本,注意,是 所有擴(kuò)展包,舉個例子,你在項目一開始的時候使用了 monolog,當(dāng)時的配置信息是

"monolog/monolog": "1.*",

安裝的是 monolog 1.1 版本,而一個多月以后的現(xiàn)在,monolog 已經(jīng)是 1.2 了,運(yùn)行命令后直接更新到 1.2,這時項目并沒有針對 1.2 進(jìn)行過測試,項目一下子變得很不穩(wěn)定,情況有時候會比這個更糟糕,尤其是在一個龐大的項目中,你沒有對項目寫完整覆蓋測試的情況,什么東西壞掉了你都不知道。

那應(yīng)該使用哪個命令呢?install, update 還是 require ?

接下來我們一一解釋。

簡單解釋

composer install - 如有 composer.lock 文件,直接安裝,否則從 composer.json 安裝最新擴(kuò)展包和依賴;

composer update - 從 composer.json 安裝最新擴(kuò)展包和依賴;

composer update vendor/package - 從 composer.json 或者對應(yīng)包的配置,并更新到最新;

composer require new/package - 添加安裝 new/package, 可以指定版本,如: composer require new/package ~2.5.

流程

接下來介紹幾個日常生產(chǎn)的流程,來方便加深大家的理解。

流程一:新項目流程

創(chuàng)建 composer.json,并添加依賴到的擴(kuò)展包;

運(yùn)行 composer install,安裝擴(kuò)展包并生成 composer.lock;

提交 composer.lock 到代碼版本控制器中,如:git;

流程二:項目協(xié)作者安裝現(xiàn)有項目

克隆項目后,根目錄下直接運(yùn)行 composer installcomposer.lock 中安裝 指定版本 的擴(kuò)展包以及其依賴;

此流程適用于生產(chǎn)環(huán)境代碼的部署。

流程三:為項目添加新擴(kuò)展包

使用 composer require vendor/package 添加擴(kuò)展包;

提交更新后的 composer.jsoncomposer.lock 到代碼版本控制器中,如:git;

關(guān)于 composer.lock 文件

composer.lock 文件里保存著對每一個代碼依賴的版本記錄(見下圖),提交到版本控制器中,并配合 composer install 使用,保證了團(tuán)隊所有協(xié)作者開發(fā)環(huán)境、線上生產(chǎn)環(huán)境中運(yùn)行的代碼版本的一致性。

關(guān)于擴(kuò)展包的安裝方法

那么,準(zhǔn)備添加一個擴(kuò)展包,install, update, require 三個命令都可以用來安裝擴(kuò)展包,選擇哪一個才是正確的呢?

答案是:使用 composer require 命令

另外,在手動修改 composer.json 添加擴(kuò)展包后,composer update new/package 進(jìn)行指定擴(kuò)展包更新的方式,也可以正確的安裝,不過不建議使用這種方法,因?yàn)?,一旦你忘記敲定后面的擴(kuò)展包名,就會進(jìn)入萬劫不復(fù)的狀態(tài),別給自己留坑呀。

上面的概念不論對新手或者老手來說,都比較混淆,主要記住這個概念:

原有項目新添加擴(kuò)展的,都使用 composer require new/package 這種方式來安裝。

完。


歡迎關(guān)注 LaravelTips, 這是一個專注于為 Laravel 開發(fā)者服務(wù), 致力于幫助開發(fā)者更好的掌握 Laravel 框架, 提升開發(fā)效率的微信公眾號.

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21475.html

相關(guān)文章

  • 使用 Laravel 框架開發(fā)是什么樣的體驗(yàn)

    摘要:但也因?yàn)閼?yīng)有盡有使得框架的性能比其他高性能框架低了些,為此給了幾個解決方案路由緩存經(jīng)有關(guān)部門研究,路由緩存可有效加快訪問速度以上。有朋友說框架最重要的東西是路由,我倒認(rèn)為最重要的是框架中異于其他框架且能解決痛點(diǎn)的東西,如的。 showImg(https://segmentfault.com/img/remote/1460000006767764); 在程序界的遠(yuǎn)古時期,大神們手持鍵盤敲...

    Miracle_lihb 評論0 收藏0
  • 1. Laravel的初始化安裝 - Laravel從零開始教程

    摘要:要學(xué)習(xí)那么第一步就是要在我們的開發(fā)機(jī)上安裝并運(yùn)行,首先我們會先安裝再使用框架提供的安裝小工具,通過使用就能生成我們的工程了。在的官方網(wǎng)站上的文檔中已經(jīng)很詳細(xì)的介紹了如何安裝不過文檔可能講解的并不是那么的細(xì)致。從零開始學(xué)系列目錄地址 要學(xué)習(xí)Laravel,那么第一步就是要在我們的開發(fā)機(jī)上安裝并運(yùn)行Laravel,首先我們會先安裝composer,再使用laravel框架提供的安裝小工具,...

    baukh789 評論0 收藏0
  • laravel開發(fā)擴(kuò)展記錄

    摘要:自動代碼擴(kuò)展開發(fā)時遵守的代碼風(fēng)格是項目開發(fā)規(guī)范。遵照此規(guī)范,在實(shí)際操作中,有許多重復(fù),接下來推薦一款專為此規(guī)范量身定制的代碼生成器??梢岳么藬U(kuò)展來快速構(gòu)建項目原型。后續(xù)還會為大家?guī)硪恍┳钚碌募夹g(shù)擴(kuò)展。 whoops 錯誤提示擴(kuò)展 whoops 是一個非常優(yōu)秀的 PHP Debug 擴(kuò)展,它能夠使你在開發(fā)中快速定位出錯的位置。laravel默認(rèn)安裝。showImg(https://s...

    fancyLuo 評論0 收藏0
  • laravel開發(fā)擴(kuò)展記錄

    摘要:自動代碼擴(kuò)展開發(fā)時遵守的代碼風(fēng)格是項目開發(fā)規(guī)范。遵照此規(guī)范,在實(shí)際操作中,有許多重復(fù),接下來推薦一款專為此規(guī)范量身定制的代碼生成器??梢岳么藬U(kuò)展來快速構(gòu)建項目原型。后續(xù)還會為大家?guī)硪恍┳钚碌募夹g(shù)擴(kuò)展。 whoops 錯誤提示擴(kuò)展 whoops 是一個非常優(yōu)秀的 PHP Debug 擴(kuò)展,它能夠使你在開發(fā)中快速定位出錯的位置。laravel默認(rèn)安裝。showImg(https://s...

    魏憲會 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<