毎回、環境構築でハマりにハマってます、ネット上ですんなり導入されている皆様が羨ましい今日この頃です。
今回、大チョンボしてしまったのですが、結論から言うと、setxコマンドを使う際は気をつけましょうという一点に尽きるかと。
毎度どうしようもない内容なので、お時間ある方のみご照覧ください。
WP-CLIとは
CLIでWordPressを操作できるみたいです。CLIは下記サイトにで出てくるようなコマンドを入力できる黒い画面たちのことっぽいですね。
・コマンドプロンプトより、CygWinより、Git Bashより、Windows Power Shell だ! - ハトネコエ Web がくしゅうちょう
VCCWではデフォルトでWP-CLIが入っている(仮想マシンのほうに)
ということらしいです。まずは、仮想マシンにログインですね。
cd E:/vagrant_test/vccw
vagrant up
vagrant ssh
/home/vagrant の.wp-cli ファイルがWP-CLIという認識で大丈夫すかね?(結局、よく分からず、誰か~教えてください!)
ls -al /home/vagrant
ちなみに、ホストOS(Windows)上にもWP-CLIをインストールしといたほうが良いらしいみたいです。
・VCCWとWP-CLIをもっと仲良しにする設定 - Qiita
ですが、肝心のホストOS(Windows)上のどこにインストールすれば?というところが分からない。
ちなみに、XAMPPなどの場合は、
・WordPressをコマンドラインで操作するWP-CLIをインストールする方法
のようにすれば良いらしいのですが、VCCWにより仮想マシン側にphpなどがインストールされている場合でもホスト側にもphpを用意しないと駄目なんですかね?
そもそも、WP-CLIを使うには何が必要なのか?
WP-CLI をインストールする前に、動作環境を確認してください。
- UNIX 系の環境 (OS X, Linux, FreeBSD, Cygwin); Windows では一部の機能に制限があります。
- PHP 5.3.29 またはそれ以降のバージョン
- WordPress 3.7 またはそれ以降のバージョン
動作条件を再度確認してから、wget
またはcurl
を使用して wp-cli.phar をダウンロードしてください。
ということらしいです。WordPressはVCCWでインストールされてるようなので、ホスト側にもPHP用意しとかないと駄目そうですね。
WP-CLIの設置場所は、環境変数さえ通っていればどこでも良いのかしら?
sudo mv wp-cli.phar /usr/local/bin/wp
・WindowsのあのフォルダはUNIX/Linuxで言えばあそこだ - Qiita
⇧ によると/usr/local/binというフォルダ、windowsに対応するものないようです(涙)
・linux - rootに/usr/local/binのパスが通ってない理由はなんですか? - スタック・オーバーフロー
・Linuxの/bin、/usr/bin、$HOME/binのそれぞれの役割 - Qiita
毎回、思うことはWindowsっていろいろと疎外されてる感が半端ないんですが...。
・Linux - [Linux]POSIXについて(28384)|teratail
VCCWで気になった点
VCCWで作成された仮想マシン内にもWordPressがインストールされてるのかな?ホスト側のWordPressとの関係性が謎です。ホスト、ゲスト、両方にインストールされてるってことかな?でも、そんな無駄なことするとは思えないですし、そもそも、ホストOS側ではサブディレクトリ(wordpressフォルダ)に、ゲストOS側ではドキュメントルート直下にインストールされてる点も気になりますね。
失礼しました、site.ymlに記載されてましたね、ホスト、ゲスト間での同期が取れるみたいですね、開発をホスト側でできるという素晴らしい作りです、これはありがたいですね!
synced_folder: wordpress document_root: /var/www/html
・Vagrant | synced_folder でホストOSとゲストOSの任意のフォルダを同期する - Qiita
・Vagrantのsynced_folderのtypeを比べてみた | 東北ギーク
でも、できればVCCWのホストOSとゲストOSの関係性の図解とかが欲しいですね。
ホスト側(Windows)
WP-CLIをホストOS側(Windows)に導入
したいんですが、結局どこに配置すればいいか分からんですよ、毎回時間が持ってかれる~、Windowsの参考サイト増やしてくれ~。
で、何も考えずgit bashでインストールしてしまったところ、
『C:¥Users¥ユーザー』フォルダにwp-cli.pharファイルがインストールされました。XAMPPのPHPにパスが通ってたから動いたのかな?このへん怪しいっす。
正直、このコマンドは通ってるのか微妙。
chmod +x wp-cli.phar
いよいよ、フォルダを移動なんですが、場所どうしましょう?Windows以外では、 /usr/local/bin/wp/wp-cli.phar となるように配置してますが(phpフォルダ直下じゃないんか~)、Windowsには /usr/local/bin/ に該当するフォルダがないという(哀)。
ふと、上級者向けインストール方法(英語) を見てみると、
設置場所の見本があった~! C:¥wp-cli なるフォルダ作って、その中にwp-cli.pharファイルを持ってきて、もう一つwp.bat というバッチファイルを作成、配置ってことですね。
mkdir c:/wp-cli
mv wp-cli.phar c:/wp-cli
vi c:/wp-cli/wp.bat
wp.batファイルには下記を記述すれば良いみたいです。
@ECHO OFF php "c:/wp-cli/wp-cli.phar" %*
記述出来たら、Escして:wqで保存してviを終了します。
で、パスを通してあげれば良いようですが、下記コマンドは絶対にそのまま実行しないでください!
setx path "%path%;c:\wp-cli"
で自分はやっちまいましたよ....『%path%』の部分を自分のユーザー環境変数のものにしないといけなかったようです、ユーザー環境変数が見事に無くなっちまいました。
しかも、システムの復元の設定をしていなかったので変更する前に戻すことができず、完全に終わったっぽいですね....。
よく読まなかった私が悪いんですが、この書き方はないっすわ、酷い仕打ちですわ、もう何もする気が起きない....皆様は気を付けてください。まぁ、こんな阿保な失敗は自分ぐらいしかしでかさないと思うけど、環境変数周りに触れるときは要注意ですよ。
・SETX コマンドで環境変数を永続的に設定する - Qiita
システム環境変数が無事なのが不幸中の幸いになるのか....setxは呪いの言葉、崩壊の呪文ですわ~、バルスっ!
パス自体は通ったみたい...わ~い。
ちなみに、wp-cli.pharファイルをwpにリネームすると、wpコマンドとして使えるみたいです(PHARファイルからファイルになっちゃうんだけど大丈夫かな)
とりあえずは、ホストOS側でもWP-CLIが使えるようになったということにしておこう。ユーザー環境変数という大きな犠牲を伴いましたが....。
あと、WordPressがインストールされているフォルダに移動して、下記コマンドでWordPressの情報がチェックできるようです。
wp core version --extra
site.ymlで lang: ja にしてるのに何でや~!package languageは別のところで設定するのかな?
・WP-CLI インストール | SAKI Web Design
今回はこのへんで。