LaravelでComposerを使用して開発、本番ごとに環境を分ける方法

Laravel

Composerとは

ComposerとはPHPのパッケージ管理システムです。

PHPのライブラリなどをファイルに記述して管理することで、簡単にライブラリのインストールやアンインストールなど、様々な管理が簡単できるようになります。

Composerとは?についてはこちらの記事にわかりやすく解説されています。

使用するライブラリを環境ごとに分けたい

Laravelを使用していると、開発環境のみに必要なライブラリや本番環境のみに必要なライブラリが出てきたりします。

例えば、Laravelの開発を便利に支援してくれるLaravel Debugbarやブラウザテストを行うことができるLaravel Duskなどは開発時のみ必要な機能であり、本番環境へも導入してしまうとセキュリティリスクを抱えてしまうことになります。

今回はそのようなことにならないよう、composerを使用して正しく環境構築ができるように学習していきましょう!

ライブラリインストール時に環境を指定したい時

既存の環境に追加でライブラリをインストールする際の環境分けについてご紹介します!

開発環境向け

開発環境専用にライブラリをインストールしたい場合は、–devをオプションとして指定します。

$ composer require --dev phpunit/phpunit ^6.2 

実行結果

–devオプションを指定すると、このようにcomposer.jsonrequire-devの項目内にライブラリが追加され、開発環境のみで使用できるようになります。

composer.json

    "require-dev": {
.
.
        "phpunit/phpunit": "^6.2"

本番環境向け

本番環境専用にライブラリをインストールしたい場合は、オプションなしでコマンドを実行します。

$ composer require monolog/monolog

実行結果

オプションなしで実行すると、このようにcomposer.jsonrequireの項目内にライブラリが追加され、本番環境のみで使用できるようになります。

composer.json

    "require": {
.
.
        "monolog/monolog": "^1.24",

初期構築時に環境を指定したい時

今度はGitなどで管理されているレポジトリをローカルへクローンしてきて、composerでライブラリをインストールする際の環境分けについてご紹介します!

開発環境向け

–devオプションを指定すると、composer.jsoncomposer.lock内に記載された内容を元にライブラリをインストールします。

これで開発環境で必要なライブラリを使用できるようになります。

$ composer install --dev
# または
$ composer update --dev

ここではcomposer installとupdateの場合について紹介していますが、そもそもinstallとupdateの違いって何?という方はこちらに詳しく解説されています。

本番環境向け

–no-devオプションを指定すると、composer.jsoncomposer.lock内のrequire項目内に記載されたライブラリのみをインストールします。

これで本番環境で必要なライブラリを使用できるようになります。

開発環境のみで必要だったLaravel DebugbarやLaravel Duskなどは、–no-devオプションを指定することで本番環境へはインストールされなくなるため、安全性が保たれますね!

$ composer install --no-dev
# または
$ composer update --no-dev

まとめ

いかがでしたでしょうか?

Laravelを使いこなす上では、Composerの使い方もしっかり抑えておきたいですね!

Laravel始めて間もない方は、Laravelの上達方法についても詳しく記事をまとめていますので見てみてくださいね!

Laravelの学習をこれから始めたい!という方は、Laravelの入門記事も書いていますので是非見て下さい!

Laravelでオススメな本を探している!という方は、こちらで僕がLaravelの書籍をまとめて感想を書いていますので購入の際の参考にしてください!

オススメの関連商品

コメント