WP-CLIをmacOS High SierraにインストールしてMAMPで動かす為にやった事




ここの記事にたどり着いたということはWP-CLIとはナニモンだ?ってことは知っていると思いますが、前置きとして。。。

WP-CLI は WordPress を管理するためのコマンドラインインターフェースです。 プラグインのアップデートやマルチサイトのセットアップなどの多くのことをブラウザ無しで行うことができます。
Command line interface for WordPress | WP-CLI

ということで、WP-CLIをmacOS High SierraにインストールしてMAMPで動かす為にやった事を一通り書いてみようと思います。

Contents

ターミナルでWP-CLIをインストール

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

curl -O というのは 指定したURLの内容をそのままファイルとしてダウンロードさせるという意味です。

インストールできているか確認

確認として以下を打ち込んでみます。

wp-cli.phar --info

以下のようなものが表示されたら、とりあえずOKです。

Shell:	/bin/bash
PHP binary:	/usr/bin/php
PHP version:	7.1.16
php.ini used:	
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/bin
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.0.1

wp-cli.pharの権限変更をして移動とリネーム

ファイルやディレクトリを移動するためのmvコマンドを使って、wp-cli.pharを移動させます。
調べるとmvはファイル名やディレクトリ名の変更にも使用できるとのことなので、移動させてリネームという感じでしょうか。
あと、Google検索で調べると手順として「パスを通す」という言葉がでてきます。調べるといろいろ解説がでてきますけど以下がとてもわかりやすかったです。
PATHを通すとは? (Mac OS X)

パスを通すとは?
要はコマンド検索パス(コマンドサーチパス)を追加するということ。
ちなみにコマンド検索パスというのは、シェルがコマンド実行ファイルを探しに行くパスのこと。
シェルとはやりたいことをコンピュータに伝える奴らしいです。
また、面倒ですが、詳しい人からするとシェルスクリプト=シェルというのはニュアンスが違う・・・というか言葉の使いどころが違うというか、、、シェルスクリプトというのはがシェル解釈できるコマンドを羅列したファイルのことを指すとのこと。
うん。専門用語の理解大事。

wp-cli.pharの権限変更

パスを通しておかないと命令してもそんなもんはない!と返されるので、wp-cli.pharを以下で権限を変更します。

chmod + x wp-cli.phar

調べると、これでいけるらしいんですけど、なぜがうまくいかない・・・。
なので違う方法、私の場合はこれでうまくいきました。

chmod 755 wp-cli.phar

ちなみにchmodはファイルやフォルダのパーミッション、アクセス権限を設定するコマンドです。
あと755というのは、

所有者
読み出し可/書き込み可/実行可
グループ
読み出し可/実行可
その他のユーザ
読み出し可/実行可

という意味です。

パスを通す

調べると、sbinとかbinに移動させてリネームで良いってなことが書かれているんで、以下のコマンドを試してみる。

sudo mv wp-cli.phar / usr / bin / wp


・・
・・・
・・・・
・・・・・
・・・・・・
\(;o;)/ ぎゃーーーーー!
なんどやっても移動してリネームできない。
Operation not permittedとかでダメだと。

Operation not permittedへの対応

初心者向け MacでOperation not permittedの解決方法
結論から変更はできたけど、やっぱり移動してリネームできない。
今度はPermission deniedと表示される有様・・・。

bash_profileでPATHを通すようにかいとかなきゃダメなんかな・・・・
MacでPATHを通す

ルートユーザを有効にしてる?

Mac でルートユーザを有効にする方法やルートパスワードを変更する方法
うーん。でも「ルートユーザを有効にする代わりに、ターミナルで sudo コマンドを使った方が安全です。」と書かれてますから、ということは「sudo mv wp-cli.phar / usr / bin / wp」でいけるはずなんですよね。。。

答え usr / local / bin / wp

悪戦苦闘の末、、、原因がわかりました。
答えはusr / local でした。
ここだと、問題なく移動できました。

よく考えてみれば、binってデフォルトでパスが通っているんじゃ?

本題から少し逸れます。ここでよく考えてみれば、binに入っていればどのユーザーでも使えるしデフォルトでパスが通っているはずなので、隠しファイルを表示させて、そのままいれてしまえばいいんじゃ?的な、どこにも説明されてない方法を思いつく。
別に公開してるわけでもないし、自分のMac内の出来事ですし。。。よくハンズオンなんかで画面をプロジェクターなどで表示させたりするんですけど、その際に、もう一つのアカウントでログインするんで、そっちでも使えるようしたほうがよくないか?的なことを考えてしまいました。
まあとりあえずやってみるか。
(ちなみにsbinは管理者用のコマンドでデフォルトではパスが通ってないとのことなので、binに入れることに。)

隠しファイルやフォルダを表示

下記のコマンドで隠しファイルやフォルダを表示させます。

defaults write com.apple.finder AppleShowAllFiles true
killall Finder

ちなみに、元に戻す場合は、以下 falseにもどしてやりましょう。

defaults write com.apple.finder AppleShowAllFiles false
killall Finder

隠しフォルダーを表示させて以下の階層に移動させます。
Macintosh HD/usr/bin/wp-cli.phar
移動させたらリネームします。
Macintosh HD/usr/bin/wp

確認してみます

これまでの作業で、wp-cli.pharからwpでいけるようになりました。
試しに$ wp-cli.pha –infoとすると、そんなコマンドないと言われます。

$ wp-cli.pha --info
-bash: wp-cli.pha: command not found

今度は、 $ wp –infoとしてみましょう。
おそらく以下のようなものが表示されるようになっていると思います。

Shell:	/bin/bash
PHP binary:	/usr/bin/php
PHP version:	7.1.16
php.ini used:	
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/bin
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.0.1

これが表示されたら、ひとまずwpでコマンド打てるようになりました。

WP-CLIをMAMP環境で使えるようにする

はい。また本筋に戻ります。
私の場合Dropboxを利用してMAMPを共有して利用してます。
自宅用のMacと移動先や出張先で使っているMacbookと共有させてます。
なのでPHP binaryとWP_CLI phar pathを変更する必要があります。
じゃないと動いてくれない・・・。

PHP binaryの変更

これはMAMPで利用しているPHPを指定します。
私の場合は以下なので、

7.1.8に変更します。

export WP_CLI_PHP=/Applications/MAMP/bin/php/php7.1.8/bin/php

WP_CLI phar pathの変更

こちらの設定もMAMPの指定に変更します。

export PATH=/Applications/MAMP/Library/bin:${PATH}

変更できたら確認です。
$ wp –infoとしてみましょう。

Shell:	/bin/bash
PHP binary:	/Applications/MAMP/bin/php/php5.6.10/bin/php
PHP version:	7.1.16
php.ini used:	
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/Users/xxxxx/Dropbox/MAMP/htdocs/stripe-check
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.0.1

最後にwp-config.phpの変更

wp-config.phpのデータベースのところをちょろっと変更します。

define( 'DB_HOST', 'localhost:/Applications/MAMP/tmp/mysql/mysql.sock' );

これで設定が完了しました。

私用する際は、cdでWordPressを設置している階層まで移動して、あとは各々、使いたいコマンドを打つべし、打つべし。
といった感じです。
いまのところ何か問題はでていないので、ひとまずしばらくこれで使ってみます。