2014年、Laravel4インストール

タグ: Laravel4  

Laravelも4.1になり、インストーラーも導入されました。様々なインストール方法が用意されています。目的やワークフローに合わせ、使い分けることが可能です。

そこで、簡単に紹介しましょう。

(Version 4.2で導入された、Homesteadの説明を加えました。)

Laravelインストーラー

laravel new プロジェクトフォルダー

# 日本語版
laravelja new プロジェクトフォルダー -l ja -m -s

バージョン4.1から導入されました。一日に2回、新規にComposer installで新しいまっ更な環境を作成し、それをzipにしたものをダウンロード、解凍するツールです。(英語版も、日本語版も同じ仕組み、同じ回数です。日本語版は今のところ、手動ですけれど。:D )

利点:

  • お手軽で、環境をさくっと作成するには、一番早い方法
  • 日本語拡張版ならオプションで、コメントを外したり、app/storage下のディレクトリーのパーミッション設定ができます。(757固定)
  • とにかく、お手軽に環境ができるため、何かを確認したり、パッケージをテストしたり、記事を書くために何度も環境を準備する必要がある場合に便利。
  • Composerの用意に手間取っても、「とにかく、Laravelが動作するかどうかを確認する」ため、Laravelロゴのでもページを出してみたいときにも便利。

欠点:

  • オリジナル版は、アプリケーションキーを自動生成しない。
  • 結局、アップデートしたり、パッケージを追加するには、Composerが必要。

Composerのcreate-projectコマンド

composer create-project laravel/laravel プロジェクトフォルダー --prefer-dist

# コメント日本語版
composer create-project laravel-ja/laravel プロジェクトフォルダー --prefer-dist

もともと「Laravel3の時のように、コマンド一発でインストールしたい」という要望があり、そのタイミングでComposerに'create-project'の機能追加されたことで誕生しました。しかし、4.1で登場したインストールコマンドにより、影が薄くなりました。

最初に、Laravelのインストールパッケージのリポを取得し、続いてcomposer installを自動的に走らせる方法です。

長所:

  • Laravel専用のインストーラーを用意する必要はなく、Composerという汎用ツールで読み込める。

欠点:

  • コマンドが長い
  • Laravelインストーラーほど早くなく、インストールパッケージからcomposer installで用意する方法ほど便利ではない
  • --perfer-distを忘れると、各依存パッケージでもバージョンコントロールの情報を取り込むため、とても遅くなる。

インストールパッケージからcomposer installコマンド

# インストールパッケージを展開したディレクトリーの中で
composer install

Composerを使用する場合、この方法が一番王道です。同じパッケージを含んだ開発環境を作成したい場合でも、このインストールパッケージを保存しておけば、再現できます。

ただ、Composerに慣れていない方ですと、最初は煩わしいと思われるでしょう。(Composerのインストールに引っかかり、Laravelが面倒と書いている初心者もいます。)

長所:

  • 予め必要なパッケージがわかっている場合、composer.jsonで指定できるため、依存の関連の解決時間(インストール時の大半を占める)が一回で済む。

欠点:

  • 多少手間がかかる。

インストールパッケージの取得方法

# Gitでクローンする
git clone https://github.com/laravel/laravel.git プロジェクトフォルダー
# コメント日本語版
git clone https://github.com/laravel-ja/laravel.git プロジェクトフォルダー

# zipで取得し、解凍する
wget https://github.com/laravel/laravel/archive/master.zip
# コメント日本語版
wget https://github.com/laravel-ja/laravel/archive/master.zip

unzip master.zip -d プロジェクトフォルダー

Yeoman

正直、今のところまだ、使い勝手は良いように思えませんが、使用している人は結構いるようです。今後に期待しましょう。

# ジェネレーターはいくつか存在するが、generator-laravelがインストール済みの場合
yo laravel:install プロジェクトフォルダー
# 後は質問に答えていく

長所:

  • 環境が準備してあれば、セットアップは簡単だ。

短所:

  • Laravelのインストーラーはいくつかあるが、現状余り便利ではない。
  • 一度、取り込んだパッケージをコピーしているだけなので、最新ではない可能性が高い

Zip直接取得(裏ワザ)

Laravelインストーラーで読み込んでくるzipファイルを直接取り込むことも可能です。ただ、手間を考えるのであれば、インストーラーを使用するほうがよろしいでしょう。利便性を考えるのであれば、Composerを準備したほうが良いでしょう。

ですから、「インストーラーもComposerも、インストールしたくない(出来ない)」状況でLaravelを動かして見たい場合のみ、使用の機械があるでしょう。例えば、本番機で動作するかどうかを事前に確認したい場合などです。

wget http://192.241.224.13/laravel-craft.zip
# 日本語版
wget http://laravel4.qanxen.info/laravel-craft.zip

unzip laravel-craft.zip -d プロジェクトフォルダー

長所:

  • Composerもインストーラーもいらない

短所:

  • インストーラーに比べれば、手間がかかる。

Vagrant Box

(追記:Version 4.2からHomesteadがリリースされました。これにより以下のパッケージはメンテされなくなるでしょう。)

Ubuntu 12.04にPHP5.5とLaravel4.1を乗せたBoxファイルが、GitHubで公開されています。

*参照: bryannielsen / Laravel4-Vagrant

インストール手順は、上記のリポのReadmeを訳してありますので、参考にしてください。(Vagrant box日本語版)また、解説記事もいくつか用意しました。このページの左、"Vagrant"のタグをクリックしてください。

Laravel抜きで、環境だけ用意し、最後にLaravelをこれまで紹介した方法で追加するやり方もあります。この場合、Vagrantファイルの生成サービスやツールを利用し、好みの環境を整えられます。

長所

  • 環境ごと作成できるため、再現性が高い。多人数で開発する場合などで、開発/動作/テスト環境を統一したい場合に便利。
  • PHPを含めて、最新環境が整う。

短所

  • 仮想化の環境として、VisualBoxをインストールする必要がある。
  • Vagrantをインストールする必要がある。
  • 内容を変更するには、VagrantやPuppet、Rubyの知識が必要になる。

Homestead

Version 4.2で導入された目玉機能です。公式Vagrant Boxです。必要なソフトウェアがまとめて入り、すぐにLaravelをフル活用できる環境が整えられます。

あまりに簡単に整えられるのです。サーバーとその周りの知識もさほど入りません。でも、実働させるとなると必要な環境をどこかに整えなくてはなりません。

それをサポートするため、Laravel ForgeというWebサービスが同時に立ち上がりました。月10ドルで同じ環境をCloud上に準備してくれるサービスです。

長所

  • 手間要らず。
  • Laravelをフルに活かす環境が整えられる。

欠点

  • Vagrantのため、Vagratの準備は必要になる。それに必要なVirtualboxの準備も必要になる。
  • 知識がなければ、実働環境にHomesteadと同じ環境を整えるためには、有料サービスのLaravel Forgeを使用しなくてはならない。

結論

開発にLaravelを使用するなら、最低限度Composerは用意しておきましょう。ComposerはLaravel専用のツールではありません。今やPHPのパッケージ管理標準ツールの様相を呈してきました。(今のように、個人が個別にインストールするのではなく、そのうちOSやディストリビューションの標準リポジトリーで取り込まれるでしょう。)

ComposerはLaravelだけでなく、他のフレームワークやCMS、生のPHPでの開発などで活用できます。面倒臭がらずに、使い方を学びましょう。

Vagrantを使用するならば、Homesteadが手間要らずです。64bitのUbuntu14.04を使用しています。全く同じ環境を実働環境に自力で整えるのは手間がかかるでしょうが、全機能を使用しなければ、無理なことではありません。こうした手間を省きたければ、素直にForgeを使用できます。

Laravelインストーラーは必須ではありません。Composerで大抵の場合、要は足ります。しかし、時々何かを調べたり、試すために、7秒程度でさくっとまっさらな環境が出来上がる魅力は、とても大きいと、使っていればわかります。調べ終わったら、必要なファイルだけコーピーし、躊躇なく削除も出来ます。(このおかげで私の場合、Vagrantの出番がなくなりました。)

特に、日本語のインストーラーは改造してあります。インストーラーの設定ファイルで、Laravelの設定ファイルを設定(かっこ良く言えばプロビジョニング)できるようにしています。Laravelだけ使用するのでしたら、お手軽さではNo.1の方法でしょう。