1
1

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-08-22

Laravelでコマンドを使っていろいろなことをするときに、「コマンドラインで」って言われることが多いのだけれども、具体的にWindowsのコマンドプロンプトなの?sshでつないでlinux上で動かすの?ってちょっとわからない時が多すぎる気がする。
いつかまた泣きそうになる気がするので、泣く前に見られる情報を書いておく。
尚、環境は以下の通り。
・ホストOS:Windows10
・開発環境:Homestead→Vagrant上でLinuxが起動
            DBはMySQL

関係ないけど、VSCodeが使いやすくてびっくりだよ。

簡単に言っておくと

vagrantのコマンド→Windowsのコマンドプロンプトで実行
プロジェクトに対して実行するコマンド→linuxのコンソールで実行

各論

Vagrantの起動(Vagrant up)

さすがにこれはWindowsのコマンドプロンプトから起動ってわかるね。
Homesteadをインストールしたフォルダーに移動してからコマンド実行してください。

C:{Homesteadをインストールしたフォルダ}>vagrant up

Vagrantの終了(Vagrant halt)

当然起動と同じ、Windowsのコマンドプロンプトです。Homesteadをインストールしたフォルダに移動してコマンド実行してください。

C:{Homesteadをインストールしたフォルダ}>vagrant halt

Laravelプロジェクトの作成(composer)

これはVagrant上のlinuxから実行します。
Vagrant上のLinuxにアクセスするには、Vagrant sshでVagrant上のlinuxのコンソールを開きます。
Vagrant sshはWindows10のコマンドプロンプトから入れます。

C:{Homesteadをインストールしたフォルダ}>vagrant ssh

そうするとあら不思議、今までWindows10のコマンドプロンプトだった画面がlinuxのコンソール画面に早変わり!

image.png

linux上でコマンドを入力する場合は、vagrant sshでlinuxに接続してからコマンド実行する。

尚、laravelプロジェクトを作成するときはlinux上でプロジェクトを作成するディレクトリに移動してからコマンドを実行する。
Homesteadのデフォルトの開発ディレクトリはcodeなので、通常はcodeディレクトリに移動してからプロジェクトを作成する。

※note
Homesteadでは、VagrantでホストOS(ここではWindows10)とゲストOS(ここではlinux Ubuntu)で共有する共有フォルダーが設定される。
[設定される共有フォルダー]
home_vagrabt_code C:¥{ユーザーフォルダ}¥code
vagrant C:¥{ユーザーフォルダ}¥Homestead
これらのフォルダーはホストOSからもゲストOSからも参照・更新することができる。

【コマンド例】

vagrant@homestead:~$ cd code
vagrant@homestead:~code$ composer create-project laraavel/laravel testProject

npmインストール

npm installはWindowsから実行しないと上手く動かなかった。
どうやら権限的なものが関係しているらしい。
ちなみにインストールしてしまえば、npm run devなどはWindowsでもlinuxでも同様に実行できました。

artisanコマンド

linuxのコンソール画面で実行するときと、Windowsからするときと両方ある。
どちらの場合もプロジェクトのフォルダに移動してから実行する。実行した結果は移動したプロジェクト内に反映される。
・linux(ゲストOS)で動かすものの例
php artisan migrate
→ホストOSからだとDBが見つからないようだ

make:~のコマンドはlinux,Windowsどちらでもいけた。
シンボリックリンクを張るstorage:linkはWindowsでいけた。linuxではエラーが出た。
migtrateはlinuxでいけた。Windowsではエラーになった。

MySQLを立ち上げる

linuxコンソールで実行する。
MySQLコマンドはどのディレクトリにいても実行できます。

【コマンド例:homesteadのhomeディレクトリで実行】

vagrant@homestead:~$ mysql -u homestead -p

デフォルトの設定値では、ユーザーは「homestead」、パスワードは「secret」です。
変更する場合は、プロジェクト内の.envファイル内の「DB_USERNAME」、「DB_PASSWORD」の設定値を変更してみ。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?