Edited at

Laravel Valetをつかってみた。

More than 3 years have passed since last update.

以下公式の概要から。


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のアドオンからも利用可能なので、楽しみデス。