27
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ターミナル上で「laravel」コマンドを使えるようにパスを通す

Last updated at Posted at 2019-07-23

#はじめに
環境:
MacOS

注意:
ターミナルで実行するコマンドの先頭にはこんな風に【$】が記載されています。

ターミナル
$ コマンド

このは「ターミナルで実行するコマンドだよ!」と知らせるもので、実際に & も打ち込んで実行するとエラーになるので注意してください。
(私は駆け出しの頃ネットに出てくるコードをコピーしていたので勿論 $ を打ち込み続け環境構築で挫折しました 笑)

#起こっている問題
Laravelをインストールして、パスを通します。

ターミナル
$ export PATH=$HOME/.composer/vendor/bin:$PATH

通したパスの変更を反映するため

ターミナル
$ source ~/.bash_profile

を実行します。
これでパスが反映されて、パスを通した直後は「laravel」コマンドが使えます。
しかし、一度ターミナルを落として「laravel」コマンドを実行すると

ターミナル
-bash: laravel: command not found

と表示され、「laravel」コマンドが使えなくなる問題。

#対処法
まず原因は何かというところを考えました。
ターミナル上でComposerをインストールした後に以下のコードでLaravelをインストール

comporserコマンドの導入と使い方については[こちら]
(https://qiita.com/suke/items/770bccf8a43f9247daf5)

ターミナル
 $ composer global require "laravel/installer" --prefer-dist 

これでLaravelのインストールが完了しました。
しかし「laravel」コマンドはパスを通さないと使えないのでこちらを実行

ターミナル
$ export PATH=$HOME/.composer/vendor/bin:$PATH

そしてこのパスを反映させるために

ターミナル
$ source ~/.bash_profile

これでパスが通って「laravel」コマンドが使えます。
しかし、今回の問題にもあるように、一度ターミナルを落としたら「laravel」コマンドが使えなくなります。

毎回パスを通すのが面倒ですし、どうしたものかと考えました。

**「これってどこでパス管理してんの??どこにパス保存してんの??」**と

調べたらこんな記事がありました

「ふむふむ。ターミナル上で使えるコマンドの管理をしているファイルは『.bash_profile』っていうファイルで管理しているのか!」

つまり、『.bash_profile』というファイルでパスを管理しているみたいです。

なのでホームディレクトリで『.bash_profile』を探しました。

探し方は、まず.bash_profileがホームディレクトリ(ディレクトリの親玉みたいなとこ)にいるので、移動する cd コマンドを使ってホームディレクトリに移動しました。

ターミナル
$ cd

でホームディレクトリに移動して、ホームディレクトリ内でこちらを実行。

ターミナル
$ ls -a

lsはファイルを探すコマンドです。
.bash_profileは先頭に「.(ピリオド)」が付いる「隠しファイル」なので、普通の状態では見れません。

なので、隠しファイルを見れるようにする -a というオプションをls の後に付けて、隠しファイルも含めた全部のファイルを見ちゃいます。

すると、ターミナル上にザーッとホームディレクトリに入っているファイルやディレクトリが表示されますので「.bash_profile」を探しましょう!

##.bash_profileが無い場合

私はホームディレクトリに.bash_profileがありませんでした。
なので、いくらパスを通してもパスを保存するファイルがありません。
ターミナルを落とすと「laravel」コマンドが使えなくなる原因は恐らくこれ。

なので、まず.bash_profileを作りました。

作り方はホームディレクトリにいる状態で

ターミナル
$ touch .bash_profile

これで.bash_profileがホームディレクトリに作られました。
作られたか確認してみましょう。

もう一度ホームディレクトリで

ターミナル
$ ls -a

.bash_profileがあれば成功です!

##パスを通そう

これでパスを.bash_profileに保存できるはずなので、

ターミナル
$ export PATH=$HOME/.composer/vendor/bin:$PATH
ターミナル
$ source ~/.bash_profile

を実行。そして.bash_profileを見てみました。
.bash_profileの中身を見るには「vim」というものを使います。
ちょっと特殊なので使い方はこちら

ターミナル
$ vim ~/.bash_profile

ちょっと怪しげなこんな画面になります。
キーボードの「i」をクリックすると入力モードになります。
(画面下に「INSERT」と出たら入力モードです)

vimを終了したい時は「esc」ボタンを押して
「:」「w」「q」を押してエンターを押してください。
これで終了と保存の両方を行うことができます。

このvimで開いた.bash_profileにパスが保存されるのですが、ターミナルを落として再度vimを見ると、綺麗さっぱりパスがなくなってます。(なぜだ)

今回の「laravel」コマンドが使えない問題は、.bash_profileにパスがうまく保存されないのが原因だとここで分かりました。

つまり.bash_profileにパスを保存できれば、ターミナルを落としても「laravel」コマンドが使えるようになるはずです。

なので、

ターミナル
$ vim ~/.bash_profile

でvimを開いて、「i」を押して入力モードにします。
そして先程打ったパスを.bash_profileに記載します。

開いたvim
export PATH=$HOME/.composer/vendor/bin:$PATH

これで「esc」ボタンを押して
「:」「w」「q」を押してエンターを押してvimを終了&保存させます。

その後、.bash_profileにパスを反映させたいので

ターミナル
$ source ~/.bash_profile

を入力。これで反映&保存完了です!
これで、ターミナルを落として再度.bash_profileを見ると、先程入力したパスが保存されています。

ターミナル
$ laravel -V

とすると、無事にLaravelのバージョンが出てきました!

スクリーンショット 2019-07-23 15.58.01.png

これで無事にターミナルを落としても「laravel」コマンドが使えるようになりました!!

27
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?