2017-06-01 46 views
0

我正在開發一個PHP網站。我在我的筆記本電腦上有一個版本,用於開發一切和運行該網站的Web服務器。在Ubuntu上使用Composer安裝PHPUnit的好處?

我發現我可以用作曲家只在我的筆記本電腦,而不是使用"require-dev"選項Using "require-dev" to install packages in composer

但是我的Web服務器上安裝PHPUnit,這帶有一些缺點:

  1. 從現在我必須在網絡服務器上撥打php composer update --no-dev,如果我忘記了--no-dev那麼它也安裝在網絡服務器上

  2. 我必須使用$ ./vendor/bin/phpunit打電話給phpunit

  3. 我必須爲我的筆記本電腦上的每個項目安裝phpunit。

在Ubuntu sudo apt-get install phpunit上安裝phpunit會好得多嗎?這樣我就不用擔心在服務器上使用--no-dev選項,我可以簡單地通過$ phpunit來調用它。我錯過了這裏重要的事情嗎?

+0

不要在生產環境中運行'composer update'。您可能想安裝依賴項,而不是更新它們。運行'composer install --no-dev'。 – localheinz

回答

0

快速的回答是:

  1. 你可以在你的項目和版本phppunit你想另一個在另一個。無論如何,--no-dev應該用於生產,因爲如果您不想要調用./vendor/bin/phpunit將腳本添加到composer.json,然後通過composer test運行測試,則不希望在生產中安裝生產
  2. 中的所有開發依賴項或你創建的任何東西
  3. 在第一個中解釋。這真的是有道理的,尤其是當你有一些遺留代碼,只使用PHP的一些特定版本的作品工作/ PHPUnit的等
0

我通常安裝phpunit,並在「要求-dev的」節等工具,但另一個完全合理的選擇是從網站下載phpunit.phar文件,並將其與其他代碼一起檢查 - 偶爾手動更新它。

本地(或全局)Composer安裝將允許更好地控制哪個版本可用,但是您可以看到它或您的其他依賴項何時過期,以及composer outdated

至於生產部署,您應該儘可能自動化,以確保每次都發生完全相同的事情。因此,它只是部署腳本或其他機制中的另外幾個字符。