bash- .-vendor-bin-phpunit- No such file or directory

2024年2月6日 22点热度 0人点赞

這個報錯是按照 phpunit 文檔操作,在Linux 環境下載 phpunit.phar ,將其移到常用命令目錄後 執行 phpunit --version 報的錯誤。 它應該是與系統安裝的 composer 沖突了,所以一直報這個錯誤。我嘗試修改系統環境變量也不能解決這個問題,已經安裝 composer 的環境需要通過在當前目錄下安裝 phpunit 類包後,才能直接使用 phpunit 命令。

向AI提問: 在Linux命令行執行 phpunit 報以下錯誤,該如何解決? bash: ./vendor/bin/phpunit: No such file or directory

這個錯誤表明系統無法找到 `phpunit` 的可執行文件。有幾種可能的原因和解決方法:

1. `phpunit` 未安裝:請確保 PHPUnit 已經通過 Composer 安裝在您的項目中。在項目根目錄執行以下命令:

composer require --dev phpunit/phpunit

這將在 `vendor/bin` 目錄下創建 `phpunit` 可執行文件。

2. `vendor` 目錄不存在: 如果您的 `vendor` 目錄不存在,可能是因為您還沒有運行 `composer install` 安裝依賴。在項目根目錄執行:

composer install

3. Composer 未全局安裝: 如果您嘗試在全局范圍內使用 `phpunit`,請確保 Composer 的全局 `bin` 目錄在您的 `PATH` 中。您可以通過以下命令找到 Composer 的全局 `bin` 目錄:

composer global config bin-dir --absolute

然後將輸出的路徑添加到您的 `PATH` 中。

4. 文件權限問題: 確保 `vendor/bin/phpunit` 具有執行權限。您可以使用以下命令為文件添加執行權限:

chmod x vendor/bin/phpunit

5. Composer 自動加載問題: 確保您的 Composer 自動加載文件正確加載了 PHPUnit。確保您的 `composer.json` 文件中包含了正確的配置。通常,PHPUnit 的配置類似於以下內容:

"autoload-dev": {

"psr-4": {

"Tests\\": "tests/"

}

},

確保運行 `composer dump-autoload` 來重新生成 Composer 的自動加載文件。

如果您嘗試了以上步驟後仍然遇到問題,請檢查詳細的錯誤消息,看看是否提供了更多有關問題的信息。