パスを通すでつまづいた話
laravelコマンドを使おうとしたときに何度やっても
zsh: command not found: laravel
で困った時の話。
解決方法は以下の通り
・シェルをbashに変更
・.bash_profileに正しいパスを設定する
問題が発生した経緯は以下の通り
Laravel入門にしたがってLaravelをインストールして、Laravelコマンドを使えるようにPATHを設定したがうまく行かない。
PATHの設定がbash_profileだったにも関わらず、コマンドの実行はzshでやっていた。
zshってなんやねんとなって調べてみるとシェルの一種らしい。
シェルの説明は以下がわかりやすい。
https://wa3.i-3-i.info/word11219.html
人の命令をコンピュータに伝える仕組みを覚えておけば良さそう。
話を戻す。
zshという仕組みを使ってlaravelコマンドを使おうとしてたんだけど、今回はbashでlaravelコマンドを使うための設定を入れていたようだ。
変更方法は以下の通り
設定ファイルを変更→保存するためには少しvimの使い方を知る必要がある。
iで入力モード
更新後、:wqで保存して終了できる。
再起動してzshからbashにシェルを変更したけどやっぱりうまく行かない
-bash: laravel: command not found
zshと少し表記が違うけどやっぱり見つからない
今回パスを設定したのは.bash_profileなのでそれを開いてみる
それと単純にパスのスペルミスだった
スペルを修正することで無事laravelコマンドが実行できるようになった
(蛇足)パスを通すってどういうこと
よくパスを通すって言葉を聞くのでこの機会に少し調べてみた。
ターミナルでコマンドを実行するときに実行ファイルのフルパスを入力しなくても実行ファイル名だけ入力すれば実行できるようになる仕組み
っていうのが私の理解です。
laravelコマンドを例にとると、パスを通さなくても
$ /Users/ooya/.composer/vendor/bin/laravel
と動く。ただ長いので
$ laravel
と入力しても動くようにするのがパスの仕組み
.bash_profileをみると以下のような記述がある
export PATH=~/.composer/vendor/bin:以下略
~はホームディレクトリを表す。私の場合は/Users/ooyaと同じこと
binフォルダの中にlaravelっていう実行ファイルがあるのでこれでちゃんとパスが通ったことになる。
実際にFinderでそのフォルダに行ってみるとちゃんと実行ファイルが確認できる。
隠しファイルを表示させましょう( command + shift + . )