Help us understand the problem. What is going on with this article?

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

nkumag
マネージャー業務の日々ですが、なんとか食らいついていきます。
http://onori.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away