使用 sail 執行 artisan 等命令無響應

myhui0926發表於2021-06-03

問題描述

最近在使用 Laravel Sail 做開發環境時, 發現 sail 命令無法與容器互動,在執行入sail php -v,sail artisan migrate這類命令時,命令列沒有任何輸出,也沒有任何執行效果。

問題原因

執行php artisan sail:install命令釋出docker-compose.yml檔案前,沒有在.env檔案內配置APP_SERVICE環境變數來自定義服務名稱,而是直接修改docker-compose.yml檔案定義:
使用 Laravel Sail 開發環境時,sail 命令無法與容器互動的原因與解決辦法
導致執行sail命令時,由於沒有檢測到APP_SERVICE環境變數,取得的服務名稱為預設的laravel.test,而不是custom_example.test

解決辦法

.env檔案內配置APP-SERVICE項,使之與docker-compose.yml檔案中的服務名稱一致:

使用 Laravel Sail 開發環境時,sail 命令無法與容器互動的原因與解決辦法
接下來執行sail命令與容器互動,看看是否生效:

sail php -v

執行結果:
使用 Laravel Sail 開發環境時,sail 命令無法與容器互動的原因與解決辦法
很明顯生效了。

再試試:

sail tinker

執行結果:

使用 Laravel Sail 開發環境時,sail 命令無法與容器互動的原因與解決辦法
生效了。
至此,問題得以解決。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
順勢而為

相關文章