Laravel Valetをつかってみた。

  • 33
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

以下公式の概要から。

Valet is a Laravel development environment for Mac minimalists. No Vagrant, No Apache, No Nginx, No /etc/hosts file. You can even share your sites publicly using local tunnels. Yeah, we like it too.

Macユーザ向けの簡易開発環境構築ツールとのことで、vagrantやetc/hostsの書き換え等も必要なく、非常に簡単に利用可能です。
Laravelでは標準でHomesteadというvagrantベースの素晴らしい開発環境も用意してくれていますが、こちらは Macユーザ限定の簡易開発環境、といったところでしょう。

Valetは、Laravelだけでなく、WordpressやSymphonyなどその他のPHPフレームワーク等にも対応しているとのこと。
(ドライバーを別途入れる必要あり?未検証)

ちなみに valetとは 従者とかそういう意味らしいです。

インストール

公式サイトの手順通り進めます。

必要なもの

  • php7.0
  • mariaDB(DBを利用するときのみ)

いずれもhomebrewからインストールします。

  • homebrew update
$ brew update
  • php70のインストール
$ brew install php70

!過去のphpバージョンが邪魔してエラーが出る場合、unlinkをします

$ brew unlink php php55
$ brew install php70
  • ついでにmariadbも入れとく
$ brew install mariadb
  • composer globalにvaletを入れる
$ composer global require laravel/valet

※composerにパスが通っていない場合、~/.composer/vendor/binにパスを通しておいてください。

  • valet installを実行
$ valet install

これでインストールは完了です。

実行

park

parkが実行されたディレクトリ以下は、全てvaletの管理下に置かれるようです。試しにやってみましょう。

$ mkdir ~/dev/valet //ディレクトリ名は任意で
$ cd ~/dev/valet
$ valet park

このような状態で、laravelの新規アプリケーションを立ち上げてみます。
私はcomposer globalでLaravel installerを入れてますので、newから作成します。
詳しくはコチラをご参照ください。

$ laravel new valet-test

...

Application ready! Build something amazing.

ガーッとログが出て、Application ready! Build something amazing.が出たら完了。
試しにもうひとつ適当にアプリケーションを作ってみます。

$ laravel new MyAwesomeLaravel

といった感じで作成します、ディレクトリはこのような形になっているはずです。

---valet
 |
 |---valet-test
 |
 |---MyAwesomeLaravel

アプリケーションにアクセスしてみましょう。アクセス名は{directory_name}.devになります。

Laravel.png

はい、このような形です。valet-test.devも同様にアクセス可能でした。

link

ここではvaletというディレクトリを作成して、その中に各アプリケーションを新規生成してましたが、
じゃあ既存アプリケーションはどうなるの?という話ですよね、そこでlinkを利用します。

まず、既存のLaravelアプリケーションに移動します。

$ cd already-laravel

移動した先でlinkコマンドを実行します。

$ valet link

...

A [already-laravel] symbolic link has been created in [~/.valet/Sites].

このような形で、~/.valet/Sites以下にシンボリックリンクが作られるわけですね、already-laravel.devでアクセスしてみると問題なくページが表示されました。

share

valetではshareで、ngrokをお手軽に利用することが可能です。
ngrokとはなんぞや?という人はMISOCAさんの記事を見るといいです。
(注意点も書いてますので、是非ご一読を)

$ valet share

を実行すると、ngrokが立ちあがりForwardingにあるhttp://~~~~.ngrok.ioにアクセス可能になります。終了はCtrl+Cを押してください。
valet-share.png

その他

公式サイトには上記以外にもログの出力や、カスタムドライバーの作成方法や、他コマンドも掲載されていますので、ご参照ください。(投げやり)

今までlaravelの開発環境はHomesteadを利用してましたが、Valetは手軽でいい感じです。ただ仕事で利用する際はホスティング先がHerokuなのもあり、Ubuntu + Nginx + PostgreSQL + Redisっていう構成のままなので、しばらくはまだHomesteadで行く気がします。
個人で利用するなら今回のValetで全く問題無いですね。

その他にもTaylorさんはLaravel EchoなるPusherと連携したLaravelでのリアルタイムアプリケーションの雛形も準備しているようです。

Pusherはherokuのアドオンからも利用可能なので、楽しみデス。