どうもこんにちはしゅうといいます。
最近Laravelの学習をしています。Laravelのコマンドを使う際にホームにパスを通したほうが後々の作業が楽だと思いターミナルでパスを打ち込みました。
しかし、ターミナルを再起動したらホームからLaravelのコマンドが使えないのであれ?と思い、原因をずっと調べていました。
やっと昨日解決したのでここにまとめておこうと思います。
達成したいこと
zshにLaravelのPATHを通してホームディレクトリからLaravelコマンドを使えるようにする。
発生している問題
下記のPATHをターミナルに打ち込む。
export PATH="$PATH:$HOME/.composer/vendor/bin"
そして下記のコマンドを打つことで、PATHが保存され再起動した後もホームからLaravelコマンドが使えるはず、、、
source ~/.zshrc
しかし、僕の場合は保存されませんでした。(原因はわかりません。)
解決方法
まずホームディレクトリに移動します。
cd ~
次に、下記のコマンドでディレクトを一覧を表示します。
(ターミナルでコマンドを打つ際はオプションというものをつけることができます。今回の場合は[-a]です。これは隠しファイルも表示するオプションになります。色々あるので調べてみるのもいいかもしれません。)
ls -a
表示されたもののなかに.zshrc
というのもがあると思います。
これを編集していきます。
下記のコマンドを打つことでテキストエディタを開いてzshrc
を編集することができると思います。
open .zshrc
ファイルが開いたと思います。(開かない場合はわかりません)
僕の場合は#environment paths
以下のコードがありませんでした。
このファイルにPATHを追加してsource ~/.zshrc
をターミナルで入力することで
ターミナルを再起動してもホームディレクトリからlaravelコマンドが使えるようになります。
.zshrcファイルの中身
#
# Executes commands at the start of an interactive session.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi
# Customize to your needs...
# environment paths(ここでパスを追加します)
# Larvel
export PATH="$PATH:$HOME/.composer/vendor/bin"
#PostgreSQL
export PATH=“$PATH:/usr/local/Cellar/postgresql/12,1”
###まとめ
最近Macの標準ターミナルがbashからzshへと変わりました。
bashの設定をzshに移す作業をしてないのでそれがPATHが追加されなかった原因かもしれません。
homebrewで管理しようと思いhomebrewからzshをインストールし、zshのフレームワークであるpreztoを導入する際にいろいろなファイルを移動したり消したのが原因かもしれません。
一つコマンドを打つことで様々な操作ができる反面、初学者にとってはやっている意味がわからないとめんどくさいことになります。
ターミナルでいろいろ設定するときはしっかりそのコマンドの意味や、影響などを調べてから行うべきということを学びました。
下記の本でターミナルの勉強することにしました。
https://www.amazon.co.jp/dp/B01NBK3TCY/ref=cm_sw_em_r_mt_dp_U_hKjsEbBHYD9TA