wp-cli-valet-commandを試す

海外で密かに注目を浴びる Valet をつかったWordPress 開発環境が便利すぎて鼻血が出た

より。

Valet とはもともとは Laravel というフレームワークの開発環境で、ローカルマシン上に PHP7.0 + Nginx による開発環境を用意することができます。

とのことで、先日参加したWordCamp Kyoto 2017のwp-cli入門セッションで、宮内さんがデモをされた際、使っていたのが気になって試してみました。
…といいますか、上記Capital Pの記事で読んではいたのですが、やってなかった…( ꒪⌓꒪)

俺も”wp valet new hello”やってみてーっす 😅

先ずはインストール

Laravel ValetのInstarationに従ってhomebrewからPHP 7.1をインストール。

[code]
brew install homebrew/php/php71
[/code]

あ、サイトに記載ありますが、これ、macOSのみだそうです。

Valet requires macOS and Homebrew. Before installation, you should make sure that no other programs such as Apache or Nginx are binding to your local machine’s port 80.

だそうで、Apacheやnginxなどが80番ポートを使っていないかチェックしてね 😉と書いてありました。

続いてlaravel/valetをcomposer経由で

[code]
composer global require laravel/valet
[/code]

で、~/.composer/vendor/binにパスが通っているか確認。which valetすればOKかなと。
/Users/xxxxxx/.composer/vendor/bin/valet と返ってきました。👌

valet install コマンドを実行

[code]
valet install
[/code]

すると、必要なパッケージをインストールしてくれます。
僕の場合は、nginxとdnsmsqでした。

[code]
[nginx] is not installed, installing it now via Brew…
[dnsmasq] is not installed, installing it now via Brew…
[/code]

さらに、Valetのデーモンをシステム起動時にスタートするよう設定してくれるようです。

wp-cli-valet-commandをインストール

aaemnnosttv/wp-cli-valet-command: Harness the power of Laravel Valet for creating fully functional WordPress installs in seconds.

[code]
wp package install aaemnnosttv/wp-cli-valet-command
[/code]

ここでもし、

[code]
PHP Fatal error: Allowed memory size of …..
[/code]

などと出ちゃう場合は、WP-CLI でメモリ不足のエラーが出る時の対処法 – Qiitaを参照。

完了したら”wp valet new hello”

helloは何でもOKなんですが、一先ずhelloで。
しかし、ここで僕はコケてました。。。

[code]
wp valet new hello
[/code]

コマンドを実行すると、

[code]
Don’t go anywhere, this should only take a second…
Success: oreore ready! https://hello.dev
[/code]

と出たんですが、アクセスしてみると、404 Not Foundになって、表示されません。。。
あらためて、wp-cli-valet-commandのInstallingを読んでみると、

You will also need some understanding of how Valet works, especially the portion on Serving Sites.

とちゃんと書いてありました。早速、Laravel ValetのServing Sitesを読んでみます。

The park Command

Create a new directory on your Mac by running something like mkdir ~/Sites. Next, cd ~/Sites and run valet park. This command will register your current working directory as a path that Valet should search for sites.

プロジェクトのディレクトリでvalet parkコマンドを実行してね?ってかいてありました。僕はここが抜けてました…。。。

プロジェクト名をhelloとし、

[code]
mkdir ~/.valet/Sites/hello && cd $_ && valet park
[/code]

と実行すると、

[code]
Sites$ mkdir hello && valet park
Password:
This directory has been added to Valet’s paths.
[/code]

となり、pathsに追加されました。

ここでようやく、wp valet new helloすると、

[code]
Sites$ wp valet new hello
Don’t go anywhere, this should only take a second…
Success: hello ready! https://hello.dev
[/code]

となり、無事、アクセスできました。
今回は、/Users/shuhei/.valet/Sites/配下に作成したので、/Users/shuhei/.valet/Sites/helloとなります。
hello配下にはちゃんとWordPressがインストールされています 😀
.
└── hello
├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-admin
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-sample.php
├── wp-config.php
├── wp-content
├── wp-cron.php
├── wp-includes
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php

不要になったらwp valet destroyでサクッと削除

不要になったら、wp valet destroyで簡単に削除できました。
プロジェクトを作成する際、そのディレクトリに移動して、valet parkコマンドを実行するだけなので、場所はどこでもOKぽいです。
この際、/Users/shuhei/.valet/config.jsonにディレクトリ情報が追加されるようです。

[code]
{
"domain": "dev",
"paths": [
"/Users/user/Sites",
"/Users/user/.valet/Sites"
]
}
[/code]

こんな感じ。
newで立ち上げたWordPress配下でもwp-cliコマンドが使えて大変便利でした 😀💡

結論

普段、メンテナンスしているようなサイトはVCCW、サクッと試したい場合にはvaletを使うと良さそうです。

プラグインを試す時とか、ちょっとした作業に使っていきそうです 😀