以下公式の概要から。
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
になります。
はい、このような形です。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
を押してください。
その他
公式サイトには上記以外にもログの出力や、カスタムドライバーの作成方法や、他コマンドも掲載されていますので、ご参照ください。(投げやり)
今までlaravelの開発環境はHomesteadを利用してましたが、Valetは手軽でいい感じです。ただ仕事で利用する際はホスティング先がHerokuなのもあり、Ubuntu + Nginx + PostgreSQL + Redisっていう構成のままなので、しばらくはまだHomesteadで行く気がします。
個人で利用するなら今回のValetで全く問題無いですね。
その他にもTaylorさんはLaravel EchoなるPusherと連携したLaravelでのリアルタイムアプリケーションの雛形も準備しているようです。
Pusherはherokuのアドオンからも利用可能なので、楽しみデス。