laravel環境構築でハマった日


説明

Laravelを導入時ハマってしまったのでその記録。

Conposerのインストール

Homebrew(macのソフトウェアの導入を簡単にするもの)は入っていたので割愛しますが、まずはConposer(phpのパッケージ管理システム)をインストール。

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

次にComposerを移動。グローバルにするため。移動かと思ったら名前も変わるらしい(後から知った)

$ mv composer.phar /usr/local/bin/composer

とりあえずバージョン確認

$ composer -v

↓こんなの出てきてこの下にバージョンとか書いてある

  ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/

laravelのインストール

準備は整ったのでここでlaravelのインストール

$ composer global require laravel/installer

PATHを通す

.bash_profileに下記の記述を追加

export PATH=$HOME/.composer/vendor/bin:$PATH

記述を追加後、ターミナルでsourceコマンドを実行

$ source ~/.bash_profile

バージョンを確認してみる

$ laravel --version

Laravel Installer 2.3.0

ここまではエラーなく進みインストールも完了。

プロジェクトの作成

ここでググった手順と同じ通りにlaravelのプロジェクトを作成してみる

$ laravel new アプリ名

エラった。

別の方法で作成してみる

$ composer create-project laravel/laravel --prefer-dist アプリ名

できた!!

と最初は思っていたが、エラーはでなかっただけでこれはプロジェクトの作成だけではなくて、composerを利用してlaravelをインストールして、プロジェクトを作成しているらしい。この時点ではプロジェクト作成しただけだと思っていた。

今作成したプロジェクトのディレクトリに移動してartisanコマンドでサーバ立ち上げる

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

これでhttp://localhost:8000にアクセス

これで、はじめましてLaravelできました。

さっきのエラー

先ほどのエラーが気になってPATHとか通しなおしてみたりしてやり直してみたけど、laravel newではやっぱりエラーが解消しない。ここから別のソースみながら新しいプロジェクトとか作ってみる

$ php composer.phar create-project --prefer-dist laravel/laravel アプリ名

こんなエラーが

Could not open input file: composer.phar

要はファイルを開けませんでしたってことなので、composer.pharを探してみるけど、ローカルにそんなファイルそんざいしないっぽい。composerインストールした時確かにあったはず。

原因

先ほど書いたが、mvでファイルが移動するだけかと思っていたが、ファイル名が変更されるというのをどこかで見た。
もしくは、laravelを複数回インストールする記述をしていたからか。
現在の時点でどちらか不明だけど、とりあえず

$ /usr/local/bin/composer update

してもダメ。

次に

$ brew tap josegonzalez/homebrew-php

して

$ brew install josegonzalez/php/composer

brew使って、phpとcomposerをインストールしたのかな

$ composer create-project laravel/laravel --prefer-dist アプリ名

でとりあえず新しいプロジェクトはできました。

本日のまとめ

composer.pharが名前変わっているのが原因なのか今日ははっきりしなかった。とりあえずlaravelだけ会えてよかった。
たった導入するだけなのに環境構築は考えなしでやるとハマる。
とりあえず100%解決はしていないから続く。