【Laravel】Sailコマンドが見つからない場合の対処方法

Laravel

スポンサーリンク

Laravel Sailを使って、Laravelをインストールし、Sailコマンドを打つと以下のようなエラーが出た。

ton@MyComputer:~/project/touen-management-system$ sail up -d

Command 'sail' not found, but can be installed with:

sudo apt install bsdgames

'sail’コマンドが見つからないと。。。

この場合の対象方法を紹介します。

方法① ディレクトリを指定してコマンドを打つ

Sailコマンドは「./vendor/bin/sail」に格納されているので、以下のようにディレクトリを指定してコマンドを実行する。

./vendor/bin/sail up -d

すると、以下のようにうまくいく

ton@MyComputer:~/project/touen-management-system$ ./vendor/bin/sail up -d
[+] Running 3/3
 ✔ Container touen-management-system-mailpit-1       Running                                                       0.0s
 ✔ Container touen-management-system-mariadb-1       Started                                                       4.0s
 ✔ Container touen-management-system-laravel.test-1  Started                                                       3.7s
ton@MyComputer:~/project/touen-management-system$

ただ、毎回ディレクトリ指定はめんどくさいという方は、

方法② エイリアスを設定

sailのエイリアスを設定することで、sailだけでコマンド実行できるようにする。
以下のコマンドを打つ

alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'

すると、以下のようにsailのみでコマンドが認識されるようになる。

ton@MyComputer:~/project/touen-management-system$ alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'
ton@MyComputer:~/project/touen-management-system$ sail up -d
[+] Running 3/0
 ✔ Container touen-management-system-mailpit-1       Running                                                              0.0s
 ✔ Container touen-management-system-mariadb-1       Running                                                              0.0s
 ✔ Container touen-management-system-laravel.test-1  Running                                                              0.0s
ton@MyComputer:~/project/touen-management-system$

ただ、この方法だと、このエイリアスを設定したターミナル限定なので、ターミナルを閉じたり、新しいターミナルを開くたびに毎回エイリアスを設定しなければいけない。

それが煩わしい場合、

方法②の補足 エイリアスを永続化

ホームディレクトリの「.zshrc」や「.bashrc」ファイルにエイリアスを追記する。

直接上記のファイルを開くなり、viコマンドなどで編集して、以下のコマンドを末尾に追記

alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'

そして、ターミナルを再起動するか、以下のコマンドを打って、変更を反映させる。

source ~/.bashrc

これで、エイリアスのsailが永続化され、sailのみでコマンド実行できるようになった。

Laravel

Posted by ton