Composer経由でLaravel5.6をインストールする

Laravelのインストール方法はいくつかありますが、なるべく追加パッケージをOSにインストールせずにセットアップします。
この方法が最小限かなと思います。

環境

CentOS 7.4
PHP7.0 → 7.1。

Composerをローカルインストール

composerはパッケージをインストールせずとも実行ファイルが配布されていますのでそちらを使用します。

$ curl -sS https://getcomposer.org/installer | php

インストールが成功すると「composer.phar」ができます。
正常にインストールできたかは、以下コマンドで確認。

$ php composer.phar --version

バージョンが出力されればOKです。

Laravel5.6のインストール

プロジェクト名は、「laravel-project」で作成します。

php composer.phar create-project --prefer-dist laravel/laravel laravel-project "5.6.*"

エラーになりました。

[InvalidArgumentException]
  Could not find package laravel/laravel with version 5.6.* in a version installable using your PHP version 5.4.16.

あー、Virtualminをインストールすると5.4と7.0がインストールされるけどコマンドラインは5.4が有効なんだった。。
sclコマンドで切り替えます

$ scl enable rh-php70 bash
$ php -v
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.27, Copyright (c) 1999-2017, by Zend Technologies

再度composerでLaravelインストール

[InvalidArgumentException]
  Could not find package laravel/laravel with version 5.6.* in a version installable using your PHP version 7.0.27.

・・・
ちゃんとドキュメントを見ないといけませんね、Laravel5.6のサーバ要件では、
– PHP >= 7.1.3
となってました。。

PHP7.1はインストールしていなかったのでインストールします。


再々度!

$ scl enable rh-php71 bash
$ php -v

PHP 7.1.8 (cli) (built: Aug  9 2017 13:20:06) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Laravelに必要なPHP拡張をインストール!

sudo yum install rh-php71-php-mbstring rh-php71-php-pdo rh-php71-php-mcrypt

いけ!

$ php composer.phar create-project --prefer-dist laravel/laravel laravel-project "5.6.*"

Installing laravel/laravel (v5.6.21)
  - Installing laravel/laravel (v5.6.21): Downloading (100%)
Created project in laravel-project
~~~
> @php artisan key:generate
Application key [base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] set successfully.

やっとインストールできました。まぁ、PHP7.1の環境がそろってればすぐなんですがね。。
最後は、composer.pharをプロジェクト内に移動しておきます。
※git管理する予定であれば、composer.pharも.gitignoreに入れときましょう。

$ mv composer.phar ./laravel-project

Laravelのバージョン確認。

$ cd laravel-project
$ php artisan -V
Laravel Framework 5.6.33

OK!!!!

以上です。