Laravel 5 の インストール手順が変更されていた!

投稿日:2015年11月17日
カテゴリ: Laravel , プログラミング , レッスン


フミリアです。

今日はLaravel 5のプロジェクトを新しく作成する時に、今までのやり方ではハマるかもしれないというお話です。 gitコマンドの--depth=オプションについても解説しています。

2つのインストール方法

Laravel 5をインストールする方法として、2つのやり方があります。 composer create-project コマンドを実行する方法と、git clone コマンドを実行する方法です。

composer create-project の場合

まずは composer create-project から見ていきましょう。 ディレクトリ名は省略できます。

$> composer create-project laravel/laravel ディレクトリ名

laravel/laravelはひな形の一つで、他のひな形を使うこともできます。 例えば、Laravel Extension Pack + 多言語リソース版をインストールする場合は、次のコマンドを実行します。

$> composer create-project laravel-plus/laravel5 ディレクトリ名

WordPress+(プラス)をインストールするには次のようにします。

$> composer create-project laravel-plus/wordpress ディレクトリ名

これらのコマンドを実行すると、インターネットからソースコードのダウンロード(a)と依存パッケージの取得(b)が続けて実行されます。

この方法に変更はありません。

git clone の場合

git clone コマンドは、リポジトリのURLを指定してローカルPC上に作業リポジトリを作成します。 ディレクトリ名はl5sampleとして説明します。

$> git clone https://github.com/laravel/laravel l5sample

このリポジトリにプルリクを送ったりコミットをしない場合は、--depth=オプションをつけるとダウンロード容量が減ります。 単なるダウンロードの場合、必要なのは最新コミットだけなので--depth=1を指定します。

$> git clone --depth=1 https://github.com/laravel/laravel l5sample

GitHubリポジトリからZipファイルをダウンロードして展開してもほぼ同じですが、.gitattributestestsディレクトリなどを除外しているようなプロジェクト(laravel/framework など)も存在するので注意が必要です。

GitHubのZipダウンロード.png

ソースコードのダウンロード(a)に続いて、依存パッケージの取得(b)を行います。 依存パッケージの取得は・・・そう、composer update もしくは composer install でした。 試しにcomposer updateを実行してみましょう。

$> cd l5sample
$> composer update

ん、何やらPHPのスタックトレースとエラーメッセージが出ました。

エラー1.png

ふむふむ。

Composer君は「pre-update-cmdイベント中に実行されたphp artisan clear-compiledがエラーだってよ」

と言っています。

今まではすんなり通ってた気がするが・・・。

git clone したら composer install !

では、もう一つのコマンドを叩いてみましょう。

$> composer install

おお、こちらは問題なく進みました。

先ほどのエラーは、php artisanコマンドの実行にはcomposer installされていることが前提だったようで、vendorディレクトリのない状態ではエラーが起きるようです。

GitHubのBlameを使って調べてみると、2015/7/16に追加されたもののようですね。スクリーンショットはこちら。

blame.png

コラム:本番環境でのcomposer install

本番環境でcomposer installを実行するときは、--no-devオプションをつけてrequire-devセクションのパッケージをインストールしないようにします。

$> composer install --no-dev

詳しくは、teratailにした回答も見てみてください。

まとめ

「Composerに対応したプロジェクトをgit cloneするときは、composer install」と覚えておきましょう。

中級エンジニアを目指すあなたには、「プロエンジニア養成塾」のアプレンティスコースがオススメです!

どんなレッスンが受けられるのか気になったら、フミリアのアプリ開発相談室にお越しください。 あなたのお話を聞かせてください。


投稿日:2015年11月17日
カテゴリ: Laravel , プログラミング , レッスン