在Laravel中,如果同時有多個開發人員,怎麼進行包的更新?

來源:互聯網
上載者:User
關鍵字 php laravel
是這樣的,如果其中一個人增加了一項依賴,並且是註冊到了Provider中。此時其他人更新完代碼後,執行composer update會出現錯誤。
我曾想吧vendor加入到git中。但是開發中有一些包是不需要放到生產環境的。
我想請教一下各位大俠,是怎麼處理這個問題的。

---更新---
我遇到的問題是這樣的。
假如有兩個開發人員,他們已經完成了項目的初始化。現在開發人員A在本地添加了依賴:
composer require vendor/package
這個包是一個Laravel的擴充,需要註冊一個ServiceProvider。所以開發人員A就需要在config/app.php中添加這個Provider。之後是一系列的後繼配置blabla~。OK,現在A可以提交代碼,並push到遠程分支了。
而後開發人員C(別問我B哪去了)pull下了代碼。現在他在執行的代碼時發現缺少依賴。那現在他需要添加這個依賴。
我現在的方式是執行了
composer update vendor/package
因為Laravel在composer.json中註冊了幾個鉤子,其中一個會在更新時執行。這個命令在初始化的時候,因為要載入ServiceProvider,而代碼中A添加的Provider在依賴中並不存在。所以composer就happy的拋出異常退出了。
這就是我的問題。請問大家是怎麼處理的

回複內容:

是這樣的,如果其中一個人增加了一項依賴,並且是註冊到了Provider中。此時其他人更新完代碼後,執行composer update會出現錯誤。
我曾想吧vendor加入到git中。但是開發中有一些包是不需要放到生產環境的。
我想請教一下各位大俠,是怎麼處理這個問題的。

---更新---
我遇到的問題是這樣的。
假如有兩個開發人員,他們已經完成了項目的初始化。現在開發人員A在本地添加了依賴:
composer require vendor/package
這個包是一個Laravel的擴充,需要註冊一個ServiceProvider。所以開發人員A就需要在config/app.php中添加這個Provider。之後是一系列的後繼配置blabla~。OK,現在A可以提交代碼,並push到遠程分支了。
而後開發人員C(別問我B哪去了)pull下了代碼。現在他在執行的代碼時發現缺少依賴。那現在他需要添加這個依賴。
我現在的方式是執行了
composer update vendor/package
因為Laravel在composer.json中註冊了幾個鉤子,其中一個會在更新時執行。這個命令在初始化的時候,因為要載入ServiceProvider,而代碼中A添加的Provider在依賴中並不存在。所以composer就happy的拋出異常退出了。
這就是我的問題。請問大家是怎麼處理的

1、有人已經require包,就證明這個配置已經在 composer.json檔案中了,對於你來說,你 pull 了代碼,只需要 composer install 就可以了,完全不需要update

2、另外一種情況避免問題,就是有大於一個的開發人員,那最好是確實誰是主導者,誰能決定一些什麼事情。

首先,新的包要放到composer.json裡面,然後只上傳該檔案到git裡面。其他團員可以隨時更新composer.json檔案。

其次,如果有些包只是在開發環境而不是線上環境的話,你可以放需要的包到:

"require-dev": {    "codeception/codeception": "1.6.0.3"}//然後只安裝開發環境所需要的服務包 這樣你就可以隨時掌握不同的服務包在不同的環境下面了composer install --dev

你應該把執行composer update時出的錯誤貼上來,否則別人不知道你出的究竟是什麼問題!

將 composer.json 加入 git 版本控管
vendor 包就不是問題了..

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.