Larabelでのアプリ開発を考えていて、そもそものところでローカルPCに環境を構築していなかったので(お恥ずかしい)環境構築から始めることに。
Contents
環境
現在
macOS Mojave 10.14.6
ソフトウェア | バージョン | 概要 |
macOS | Mojave 10.14.6 | OS |
Homebrew | 2.1.16 | Macにソフトウェアを導入するためのパッケージ管理システム。 インターネット上からアプリケーションを簡単にインストールすることができる。 |
導入予定
ソフトウェア | バージョン | 概要 |
phpbrew | 1.23.1 | PHPのバージョン管理システム |
MySQL | 5.7 | データベース |
Composer | 1.9.0 | PHPのパッケージ管理システム |
手順
- MySQLインストールし起動する
- phpbrewをインストールしてパスを通す
- PHPインストールに必要なパッケージをインストールする
- 指定バージョンのPHPをインストールして切り替える
- Composerをインストールする
MySQLインストールし起動する
MySQLはオープンソースのデータベース。もうすでに入っていれば起動しているか確認する。
$ brew install mysql@5.7
servicesコマンドのパッケージをインストールしたら自動起動の設定をしておく。
$ brew tap homebrew/services
$ brew services start mysql@5.7
自動起動したくない場合は個別に起動する。
MySQLのパスの通し方と手動起動はこちらの記事で。
MacでMySQLのパスを通して起動するまで
serviceコマンドとは
serviceコマンドは自動起動するソフトウェアを設定することができる。
下記のコマンドで自動起動している設定の一覧を表示できる。
$ brew services list
phpbrewをインストールしてパスを通す
phpbrewはPHP用のバージョン管理システム。導入により様々なバージョンのPHPをインストールすることができる。
phpbrewをダウンロードする
curlコマンドを使用して指定したURLに含まれるphpbrewをダウンロードする。
$ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
phpbrewの実行権限を変える
このままではコマンドを使用しても実行する権限がないので権限を変更する。
$ chmod +x phpbrew
phpbrewのパスを通す
curlコマンドでインストールしたことによりパスの通ったディレクトリに保存されていないため、『パスを通す』ことによりphpbrewのコマンドが使用できるようになる。
正確には全てのディレクトリからコマンドが実行可能な状態にすることを言う。
デフォルトでパスが通っている/usr/local/binディレクトリに移動する。
移動するだけでphpbrewコマンドがどのディレクトリからでも使用できるようになる。
$ mv phpbrew /usr/local/bin/phpbrew
※通常Homebrewでインストールされたソフトウェアは/usr/local/bin/に保存されるためパスが通っている。
ここまでできたらphpbrewコマンドを実行して確認する。
$ phpbrew
______ _ _ ____________
| ___ \ | | || ___ \ ___ \
| |_/ / |_| || |_/ / |_/ /_ __ _____ __
| __/| _ || __/| ___ \ '__/ _ \ \ /\ / /
| | | | | || | | |_/ / | | __/\ V V /
\_| \_| |_/\_| \____/|_| \___| \_/\_/
Brew your latest php!
SYNOPSIS
phpbrew [options] <command>
OPTIONS
-v, --verbose
Print verbose message.
-d, --debug
Print debug message.
-q, --quiet
Be quiet.
-h, --help
Show help.
--version
Show version.
-p, --profile
Display timing and memory usage information.
--log-path=[<value>]
The path of a log file.
--no-interact
Do not ask any interactive question.
--no-progress
Do not display progress bar.
COMMANDS
help Show help message of a command
app php app store
init Initialize phpbrew config file.
known List known PHP versions
install Install php
list List installed PHPs
use Use php, switch version temporarily
switch Switch default php version.
each Iterate and run a given shell command over all php versions managed by PHPBrew.
config Edit your current php.ini in your favorite $EDITOR
info Show current php information
env Export environment variables
extension List extensions or execute extension subcommands
variants List php variants
path Show paths of the current PHP.
cd Change to directories
download Download php
clean Clean up the source directory of a PHP distribution
update Update PHP release source file
ctags Run ctags at current php source dir for extension development.
fpm fpm commands
list-ini List loaded ini config files.
self-update Self-update, default to master version
remove Remove installed php build.
purge Remove installed php version and config files.
off Temporarily go back to the system php
switch-off Definitely go back to the system php
TOPICS
contribution Contribution
cookbook Cookbook
home Home
migrating-from-homebrew-php-to-phpbrew Migrating from homebrew php to phpbrew
phpbrew-ja PHPBrew JA 日語指引
release-process Release Process
requirement Requirement
setting-up-configuration Setting up Configuration
troubleshooting Troubleshooting
HELP
'phpbrew help' lists available subcommands and some topics. See
'phpbrew help <command>' or 'phpbrew help <topic>' to read about a
specific subcommand or phpbrew.
phpbrew 1.23.1 powered by https://github.com/c9s/CLIFramework
phpbrewの設定ファイルを初期化する
設定やインストールを行うための準備としてphpbrewの設定ファイルを初期化する。
$ phpbrew init
bashの設定ファイルに書き込む
ターミナルにログインする度にphpbrewのファイルを読み込むように.bash_profileへ追記して実行する(読み込む)。
$ echo 'source ~/.phpbrew/bashrc' >> ~/.bash_profile
$ source ~/.bash_profile
PHPインストールに必要なパッケージをインストールする
PHPインストールに必要なパッケージをインストールする。インストールするものは下記。
- autoconf
- automake
- libxml2
- openssl
- mcrypt
- mhash
- readline
- pcre
$ brew install autoconf automake libxml2 openssl mcrypt mhash readline pcre
これが結構長いので気長に待つことになりそうですな。
指定バージョンのPHPをインストールして切り替える
インストールが可能なPHPのバージョンを表示してインストール
まずはインストールが可能なPHPのバージョンを確認する。
$ phpbrew known
===> Fetching release list...
Downloading https://secure.php.net/releases/index.php?json&version=7&max=100 via curl extension
Downloading https://secure.php.net/releases/index.php?json&version=5&max=100 via curl extension
7.3: 7.3.10, 7.3.9, 7.3.8, 7.3.7, 7.3.6, 7.3.5, 7.3.4, 7.3.3 ...
7.2: 7.2.23, 7.2.22, 7.2.21, 7.2.20, 7.2.19, 7.2.18, 7.2.17, 7.2.16 ...
7.1: 7.1.32, 7.1.31, 7.1.30, 7.1.29, 7.1.28, 7.1.27, 7.1.26, 7.1.25 ...
7.0: 7.0.33, 7.0.32, 7.0.31, 7.0.30, 7.0.29, 7.0.28, 7.0.27, 7.0.26 ...
5.6: 5.6.40, 5.6.39, 5.6.38, 5.6.37, 5.6.36, 5.6.35, 5.6.34, 5.6.33 ...
5.5: 5.5.38, 5.5.37, 5.5.36, 5.5.35, 5.5.34, 5.5.33, 5.5.32, 5.5.31 ...
5.4: 5.4.45, 5.4.44, 5.4.43, 5.4.42, 5.4.41, 5.4.40, 5.4.39, 5.4.38 ...
こんな感じに出たので7.1.21をインストールしてみようかなっと。
$ phpbrew install 7.1.21 +default +mysql
===> phpbrew will now build 7.1.21
===> Loading and resolving variants...
Downloading http://www.php.net/get/php-7.1.21.tar.bz2/from/this/mirror via curl extension
[==================================================================] 177.00/177.00B 100%
Redirecting to https://www.php.net/get/php-7.1.21.tar.bz2/from/this/mirror
Redirecting to https://www.php.net/distributions/php-7.1.21.tar.bz2
[==================================================================] 14.47/14.47MB 100%
===> Extracting /Users/xxxxxx/.phpbrew/distfiles/php-7.1.21.tar.bz2 to /Users/xxxxxx/.phpbrew/build/tmp.1570691957/php-7.1.21
===> Moving /Users/xxxxxx/.phpbrew/build/tmp.1570691957/php-7.1.21 to /Users/xxxxxx/.phpbrew/build/php-7.1.21
===> Checking patches...
Checking patch for replace apache php module name with custom version name
===> Configuring 7.1.21...
Use tail command to see what's going on:
$ tail -F /Users/xxxxxx/.phpbrew/build/php-7.1.21/build.log
Error: Configure failed:
The last 5 lines in the log file:
checking if the location of ZLIB install directory is defined... no
checking whether to enable bc style precision math functions... yes
checking for BZip2 support... yes
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
Please checkout the build log file for more details:
tail /Users/xxxxxx/.phpbrew/build/php-7.1.21/build.log
ここまで順調だったのにエラーが・・・
ちなみにエラーはこちらの記事にまとめた。
PHPのインストールで怒られた
PHPのバージョンを切り替える
インストールがうまくできたらインストールされているPHPのバージョンを表示して切り替える。
$ phpbrew list
$ phpbrew switch php-7.1.21
ついでにちゃんと切り替わったか確認も。
$ php -v
Composerをインストールする
いよいよここまできたぞ。
ComposerはPHPのパッケージ管理システムで、PHPに必要なパッケージのインストールをするために盛大にお世話になる。
$ brew install composer
うまくインストールできれば下記のコマンドでフィニッシュだーーーーー!
$ composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.9.0 2019-08-02 20:55:32
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
...
最後に
環境構築は依存関係があるのでいつでも本当に大変だ。
それに比べてフロントエンドはブラウザとエディタがあればできちゃうから本当に楽だな()
ここまでできたのでようやくLarabelのプロジェクト、作っていくぞーー!