※当サイトの記事には、広告・プロモーションが含まれます。

Windows 10 HomeにVCCW(v3)を導入、WP-CLIも入っているようです(仮想マシンのほうに)

毎回、環境構築でハマりにハマってます、ネット上ですんなり導入されている皆様が羨ましい今日この頃です。

今回、大チョンボしてしまったのですが、結論から言うと、setxコマンドを使う際は気をつけましょうという一点に尽きるかと。 

毎度どうしようもない内容なので、お時間ある方のみご照覧ください。

WP-CLIとは

WP-CLIWordPress を管理するためのコマンドラインツールです。 プラグインのアップデートやマルチサイトのセットアップなどの多くのことをブラウザ無しで行うことができます。

CLIWordPressを操作できるみたいです。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

f:id:ts0818:20170520204216j:plain

ちなみに、ホストOS(Windows)上にもWP-CLIをインストールしといたほうが良いらしいみたいです。

VCCWとWP-CLIをもっと仲良しにする設定 - Qiita

ですが、肝心のホストOS(Windows)上のどこにインストールすれば?というところが分からない。

ちなみに、XAMPPなどの場合は、

WordPressをコマンドラインで操作するWP-CLIをインストールする方法

のようにすれば良いらしいのですが、VCCWにより仮想マシン側にphpなどがインストールされている場合でもホスト側にもphpを用意しないと駄目なんですかね?

そもそも、WP-CLIを使うには何が必要なのか?

WP-CLI をインストールする前に、動作環境を確認してください。

動作条件を再度確認してから、wgetまたはcurlを使用して wp-cli.phar をダウンロードしてください。

Command line interface for WordPress | WP-CLI

ということらしいです。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の関係性の図解とかが欲しいですね。

f:id:ts0818:20170520225134j:plain

 ホスト側(Windows

f:id:ts0818:20170520223955j:plain

WP-CLIをホストOS側(Windows)に導入

したいんですが、結局どこに配置すればいいか分からんですよ、毎回時間が持ってかれる~、Windowsの参考サイト増やしてくれ~。 

で、何も考えずgit bashでインストールしてしまったところ、

f:id:ts0818:20170520233959j:plain

『C:¥Users¥ユーザー』フォルダにwp-cli.pharファイルがインストールされました。XAMPPのPHPにパスが通ってたから動いたのかな?このへん怪しいっす。

f:id:ts0818:20170520234132j:plain

正直、このコマンドは通ってるのか微妙。

chmod +x wp-cli.phar

f:id:ts0818:20170520234747j:plain

いよいよ、フォルダを移動なんですが、場所どうしましょう?Windows以外では、 /usr/local/bin/wp/wp-cli.phar となるように配置してますが(phpフォルダ直下じゃないんか~)、Windowsには /usr/local/bin/ に該当するフォルダがないという(哀)。

ふと、上級者向けインストール方法(英語) を見てみると、

f:id:ts0818:20170521000501j:plain

設置場所の見本があった~! 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

 

f:id:ts0818:20170521000503j:plain

wp.batファイルには下記を記述すれば良いみたいです。

@ECHO OFF
php "c:/wp-cli/wp-cli.phar" %*

記述出来たら、Escして:wqで保存してviを終了します。

f:id:ts0818:20170521000502j:plain

f:id:ts0818:20170521003440j:plain

 で、パスを通してあげれば良いようですが、下記コマンドは絶対にそのまま実行しないでください!

setx path "%path%;c:\wp-cli"    

f:id:ts0818:20170521004154j:plain

で自分はやっちまいましたよ....『%path%』の部分を自分のユーザー環境変数のものにしないといけなかったようです、ユーザー環境変数が見事に無くなっちまいました。

f:id:ts0818:20170521010130j:plain

しかも、システムの復元の設定をしていなかったので変更する前に戻すことができず、完全に終わったっぽいですね....。

f:id:ts0818:20170521010131j:plain

 よく読まなかった私が悪いんですが、この書き方はないっすわ、酷い仕打ちですわ、もう何もする気が起きない....皆様は気を付けてください。まぁ、こんな阿保な失敗は自分ぐらいしかしでかさないと思うけど、環境変数周りに触れるときは要注意ですよ。

SETX コマンドで環境変数を永続的に設定する - Qiita

システム環境変数が無事なのが不幸中の幸いになるのか....setxは呪いの言葉、崩壊の呪文ですわ~、バルスっ!

パス自体は通ったみたい...わ~い。 

f:id:ts0818:20170521094538j:plain

ちなみに、wp-cli.pharファイルをwpにリネームすると、wpコマンドとして使えるみたいです(PHARファイルからファイルになっちゃうんだけど大丈夫かな)

f:id:ts0818:20170521095639j:plain

f:id:ts0818:20170521095729j:plain

とりあえずは、ホストOS側でもWP-CLIが使えるようになったということにしておこう。ユーザー環境変数という大きな犠牲を伴いましたが....。

あと、WordPressがインストールされているフォルダに移動して、下記コマンドでWordPressの情報がチェックできるようです。

wp core version --extra

f:id:ts0818:20170521105535j:plain

site.ymlで lang: ja にしてるのに何でや~!package languageは別のところで設定するのかな?

WP-CLI インストール | SAKI Web Design 

今回はこのへんで。