初めてのシステムと日記

システムも日記も初めてです。

MacOS MavericksにLaravelをインストール&そしてハマった

今まで仕事やプライベートで使っていたPHPフレームワークが古くなってきたため、新しいものを探していました。

2014年2月PHPフレームワークのトレンド - demouth::blog

そんな中、上記の記事でLaravelがトレンドっぽいので試してみる事にしました。

 

ドキュメント

 

環境

 

Composerインストール

Laravelを動かすにはComposerが必要との事なのでインストールします。
インストールに関しては下記ブログを参考にさせてもらいました。

# ダウンロード&実行
$ curl -sS https://getcomposer.org/installer | php

# パスが通っている場所へリネーム
$ mv composer.phar /usr/local/bin/composer

 

Laravelインストーラーのダウンロード

次にLaravelをインストーラーをダウンロードします。

# 公式からダウンロード
$ curl -# -O http://laravel.com/laravel.phar
######################################################################## 100.0%

# パーミッション変更
$ ll laravel.phar 
-rw-r--r--  ***** laravel.phar
$ chmod 755 laravel.phar 

# パスが通っている場所へリネーム
$ mv laravel.phar /usr/local/bin/laravel

 

Laravelインストール

準備ができたのでlaravel_testというプロジェクト名でLaravelをインストールします。

$ composer create-project laravel/laravel laravel_test --prefer-dist

# インストールログが表示されるのでひたすら待つ
・
・ 
・

Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error


                      
  [RuntimeException]  
  Error Output:       

怒られました。。PHPライブラリのMcryptが必要との事なのでインストールします。

 

Mcryptインストール

これが一番ハマりました。
デフォルトでMacOS MavericksにはPHP5.4が入っていたのでこれにMcryptを追加します。

# libmcryptインストール
$ brew install mcrypt

# 同じバージョンのPHPダウンロード&インストール
$ curl -# -O http://museum.php.net/php5/php-5.4.17.tar.gz
$ tar -xvzf php-5.4.17.tar.gz
$ cd php-5.4.17/ext/mcrypt/
$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

2つほど怒られました。。

 

1つはautoconfが入ってないとの事なのでこれもインストールします。

# autoconfのダウンロード&インストール
$ curl -# -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
$ tar -xvzf autoconf-latest.tar.gz 
$ cd autoconf-2.69/
$ ./configure
$ make
$ make install

 

もう1つは調べる限り、Xcode5のコマンドラインツールが入ってないために起きるようです。
Xcode5になって色々設定方法が変わったようで下記を参考にしました。

# Xcodeのパッケージインストール
$ xcode-select --install

記事を見る限りターミナルからいけるようですが、
私は何故かいけなかったのでdeveloper.apple.comからおとなしくダウンロードしました。。

 

そして再度、Mcryptのインストールをします。

# Mcryptインストール
$ phpize 
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
$ ./configure
$ make
$ make install

# php.ini更新
$ vim /etc/php.ini
# extension=mcrypt.so を追加

# 確認
$ php -i | grep mcrypt
mcrypt support => enabled

 

再度Laravelインストール

もろもろ準備が出来たので再度Laravelをインストールします。

# Laravelインストール
$ composer create-project laravel/laravel laravel_test --prefer-dist
・
・ 
・
Writing lock file
Generating autoload files
Generating optimized class loader
Application key [ランダムな英数字] set successfully.

# 確認
$ ls -1 laravel_test/
CONTRIBUTING.md
app
artisan
bootstrap
composer.json
composer.lock
phpunit.xml
public
readme.md
server.php
vendor

 

これでLaravelの開発環境が整いました。Laravel、、というよりMacPHP周りでだいぶ時間を使ってしまいましたが、環境依存なものがなければすぐにインストール出来るかなと思います。