26
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravel5.7: Laravelをインストールする

Last updated at Posted at 2017-10-06

親記事

Laravel5.7で基本的なCRUDを作る

Laravelをインストールする

「Laravelインストーラ」ではなく、Composerのcreate-projectコマンドでインストールします。
:link: readouble.com: Laravelのインストール

下記を実行すると、現在の場所に5.7というフォルダが作られ、その中にLaravelがインストールされます。
指定するフォルダ名は自由です。

PowerShell
> composer create-project --prefer-dist laravel/laravel 5.7

動作確認をする

下記を実行し、ブラウザでhttp://127.0.0.1:8000へアクセスしてください。

PowerShell
> php artisan serve
Laravel development server started: <http://127.0.0.1:8000>

下のように表示されれば成功です。
001.png

上のコマンドの内部では、PHPの組み込みサーバーを使っています。
:link: PHP公式ドキュメント: ビルトインウェブサーバー

XAMPPのApacheでページを処理する正式な方法は、次の章で紹介します。


(余談) Laravelインストーラを使う場合

公式ドキュメントではLaravelインストーラを利用する方法が最初に紹介されており、私も以前はインストーラを使っていました。
しかし、依存しているsymfony/consoleの要求バージョンが、他のパッケージ(phpDocumentor2.9)での要求バージョンと異なり、どちらか一方を削除しなければならないため、私はLaravelインストーラの方を削除しました。

通常の導入方法

PowerShell
# 新規にLaravelインストーラを追加する場合
> composer global require laravel/installer

# すでにLaravelインストーラが存在する場合は、更新を確認する
> composer global outdated laravel/installer
(中略)
versions : * v1.4.1
latest   : v2.0.1 (最新版がある!!)

# 古い場合は更新する
> composer global update laravel/installer

# Laravelアプリを新規作成する
> laravel new basic-crud

遭遇した問題

v1.xのLaravelインストーラでは問題ありませんでした。
v2.xに更新しようとすると、下記のようにsymfony/consoleはv3.xまたはv4.xにしろと警告されます。

PowerShell
> composer global update laravel/installer
(中略)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/installer v2.0.1
    - Conclusion: remove symfony/console v2.8.34
    - Installation request for laravel/installer 2.*
    - Conclusion: don't install symfony/console v2.8.34
    - laravel/installer v2.0.0 requires symfony/console ~3.0|~4.0

いったんv1.xのLaravelインストーラを削除して新規にv2.xのLaravelインストーラを入れようとするものの、ダメでした。
symfony/consoleが他のパッケージで使われていないかをwhyコマンドで確認すると、私の環境ではphpDocumentorが古いsymfony/consoleに依存していました。

PowerShell
> composer global why symfony/console
Changed current directory to C:/Users/Owner/AppData/Roaming/Composer
cilex/console-service-provider  1.0.0   requires  symfony/console (~2.1)
laravel/installer               v1.4.1  requires  symfony/console (~2.3|~3.0)
phpdocumentor/phpdocumentor     v2.9.0  requires  symfony/console (~2.3)

古いLaravelインストーラとphpDocumentorを削除すると、最新版のLaravelインストーラを導入できました。
しかし、私としてはphpDocumentorはグローバルで使いたいので、Laravelインストーラの方を諦めることにしました。

26
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?