Composerとは
ComposerとはPHPのパッケージ管理システムです。
PHPのライブラリなどをファイルに記述して管理することで、簡単にライブラリのインストールやアンインストールなど、様々な管理が簡単できるようになります。
Composerとは?についてはこちらの記事にわかりやすく解説されています。
使用するライブラリを環境ごとに分けたい
Laravelを使用していると、開発環境のみに必要なライブラリや本番環境のみに必要なライブラリが出てきたりします。
例えば、Laravelの開発を便利に支援してくれるLaravel Debugbarやブラウザテストを行うことができるLaravel Duskなどは開発時のみ必要な機能であり、本番環境へも導入してしまうとセキュリティリスクを抱えてしまうことになります。
今回はそのようなことにならないよう、composerを使用して正しく環境構築ができるように学習していきましょう!
ライブラリインストール時に環境を指定したい時
既存の環境に追加でライブラリをインストールする際の環境分けについてご紹介します!
開発環境向け
開発環境専用にライブラリをインストールしたい場合は、–devをオプションとして指定します。
$ composer require --dev phpunit/phpunit ^6.2
実行結果
–devオプションを指定すると、このようにcomposer.jsonのrequire-devの項目内にライブラリが追加され、開発環境のみで使用できるようになります。
composer.json
"require-dev": {
.
.
"phpunit/phpunit": "^6.2"
本番環境向け
本番環境専用にライブラリをインストールしたい場合は、オプションなしでコマンドを実行します。
$ composer require monolog/monolog
実行結果
オプションなしで実行すると、このようにcomposer.jsonのrequireの項目内にライブラリが追加され、本番環境のみで使用できるようになります。
composer.json
"require": {
.
.
"monolog/monolog": "^1.24",
初期構築時に環境を指定したい時
今度はGitなどで管理されているレポジトリをローカルへクローンしてきて、composerでライブラリをインストールする際の環境分けについてご紹介します!
開発環境向け
–devオプションを指定すると、composer.jsonやcomposer.lock内に記載された内容を元にライブラリをインストールします。
これで開発環境で必要なライブラリを使用できるようになります。
$ composer install --dev
# または
$ composer update --dev
ここではcomposer installとupdateの場合について紹介していますが、そもそもinstallとupdateの違いって何?という方はこちらに詳しく解説されています。
本番環境向け
–no-devオプションを指定すると、composer.jsonやcomposer.lock内のrequire項目内に記載されたライブラリのみをインストールします。
これで本番環境で必要なライブラリを使用できるようになります。
開発環境のみで必要だったLaravel DebugbarやLaravel Duskなどは、–no-devオプションを指定することで本番環境へはインストールされなくなるため、安全性が保たれますね!
$ composer install --no-dev
# または
$ composer update --no-dev
まとめ
いかがでしたでしょうか?
Laravelを使いこなす上では、Composerの使い方もしっかり抑えておきたいですね!
Laravel始めて間もない方は、Laravelの上達方法についても詳しく記事をまとめていますので見てみてくださいね!
Laravelの学習をこれから始めたい!という方は、Laravelの入門記事も書いていますので是非見て下さい!
Laravelでオススメな本を探している!という方は、こちらで僕がLaravelの書籍をまとめて感想を書いていますので購入の際の参考にしてください!
コメント