WP-CLI(nightly版)でパッケージを管理してみる
「RESTful WP-CLI」の記事を見ているとWP-CLIのコマンドでパッケージ管理ができる様子だったので試してみました。 セットアップ まずはWP-CLIのバージョンをnightly版にします。 nightly版な […]
目次
「RESTful WP-CLI」の記事を見ているとWP-CLIのコマンドでパッケージ管理ができる様子だったので試してみました。
セットアップ
まずはWP-CLIのバージョンをnightly版にします。
nightly版なので本番環境では試さない方が色々と平和かと思いますが、その辺は自己責任でお願いします。
[bash]
# wp cli update –nightly
You have version 0.21.1. Would you like to update to the latest nightly? [y/n] y
Downloading from https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli-nightly.phar…
New version works. Proceeding to replace.
[/bash]
これでWP-CLIによるパッケージ管理ができるようになりました。
パッケージ管理コマンド「wp package」
nightly版で使えるようになるのがこの「wp package」です。
helpの説明を読むと「Manage WP-CLI community packages.」と書かれていますので、コミュニテイパッケージのみ扱えるということみたいです。
もっとも、コミュニティとそうでないものの違いはまだよくわかっていませんが・・・
追記:2016/02/10
コミュニティコマンド自体は結構昔からあったみたいです。
WP-CLIにコミュニティコマンドを追加する | Firegoby
wp packageコマンドでDLできるようにしたい場合は上記記事の手順でできそうです。
ちなみに使うときはこんな感じです。
[bash]
$ wp package install danielbachhuber/wp-hook-command
Installing danielbachhuber/wp-hook-command (dev-master)
Updating /home/vagrant/.wp-cli/packages/composer.json to require the package…
Using Composer to install the package…
– Installing package
Success: Package installed successfully.
[/bash]
実行メッセージを見る限り、Composerでカスタムコマンドのパッケージを拾ってきてるみたいですね。
ということでComposerならあのファイルがあるはずなので見てみましょう。
[bash]$ cat /home/vagrant/.wp-cli/packages/composer.json
{
"name": "wp-cli/wp-cli-community-packages",
"description": "Installed community packages used by WP-CLI",
"authors": [
{
"name": "WP-CLI",
"email": "[email protected]"
}
],
"homepage": "https://wp-cli.org/package-index/",
"require": {
"danielbachhuber/wp-hook-command": "dev-master"
},
"require-dev": {},
"minimum-stability": "dev",
"license": "MIT",
"repositories": {
"wp-cli": {
"type": "composer",
"url": "https://wp-cli.org/package-index/"
}
}
}
[/bash]
Composerコマンドのラッパー的なコマンドなんですかね。
時間があればソース見てみたいと思いますが、詳しい方いれば教えて下さい。
wp packageのコマンドいろいろ
で、このコマンドには数種類サブコマンドがありますので、ざっと動かしてみます。
wp package browse
ダウンロード可能なパッケージのリストが出ます。
[bash]
]$ wp package browse
+————————————————+——————————————————————————-+——————————————+—————————+
| name | description | authors | version |
+————————————————+——————————————————————————-+——————————————+—————————+
| adrigen/wp-cli-piwik | Add a `wp piwik` command to support the WP-Piwik plugin | Adrian Garner | dev-master |
| boonebgorges/wp-cli-buddypress | WP-CLI commands for BuddyPress | Boone B Gorges | dev-master |
| c10b10/wp-cli-deploy | Deploys the local WordPress database or the uploads directory to a remote ser | Alex Ciobica | dev-dev |
| | ver using ssh. | | |
| danielbachhuber/dictator | The Dictator controls the state of WordPress | Daniel Bachhuber | dev-sidebar-region |
| danielbachhuber/wp-cli-media-sideload-command | Sideload external media into WordPress | Daniel Bachhuber | dev-master |
| danielbachhuber/wp-cli-pre-cache-command | Proactively download and cache core, theme, and plugin files for later instal | Daniel Bachhuber | dev-master |
| | lation. | | |
| danielbachhuber/wp-cli-reset-post-date-command | Reset the post_date field on your posts after you change the timezone. | Daniel Bachhuber | dev-master |
| danielbachhuber/wp-cli-stat-command | Explore data about your WordPress site. | Daniel Bachhuber | dev-master |
| danielbachhuber/wp-hook-command | List callbacks registered to a given action or filter | Daniel Bachhuber | dev-master |
| danielbachhuber/wp-rest-cli | Unlock the potential of the WP REST API at the command line | Daniel Bachhuber | dev-api-blueprint |
| dereckson/wp-cli-polylang | Add a `wp polylang` command to support the Polylang plug-in | Sébastien Santoro aka Dereckson | dev-master |
| foogile/wp-cli-mig | General migration command for WP-CLI | Stian Liknes | dev-master |
| frozzare/wp-cli-lint | WP-CLI command for linting your code | Fredrik Forsmo | dev-master |
| geekpress/wp-rocket-cli | Add a `wp rocket` command to support the WP Rocket plugin | WP Rocket Team | dev-master |
| humanmade/wp-remote-cli | Manage your WordPress sites using WP Remote and WP-CLI. | Humanmade,Daniel Bachhuber | dev-fourth-level-commands |
| mattes/wp-cli-git-command | WordPress Git helpers, like pre-commit hooks for automatic MySQL database dum | Matthias Kadenbach | dev-master |
| | ps. | | |
| mattes/wp-cli-quick-command | Quick WordPress helpers. | Matthias Kadenbach | dev-master |
| miya0001/wp-cli-plugins-api | WP-CLI command for Plugins API | Takayuki Miyauchi | dev-master |
| pixline/wp-cli-php-devtools | Wrapper around common development utilities | Paolo Tresso | dev-phpcs-external |
| pixline/wp-cli-proxy | wp-cli debug proxy setup (mitmproxy.org) | Paolo Tresso | dev-master |
| pixline/wp-cli-theme-test-command | Install and configure WordPress theme unit tests | Paolo Tresso | dev-master |
| pods-framework/pods-wp-cli | WordPress Pods WP-CLI commands | Pods Framework Team,Scott Kingsley Clark | dev-master |
| pulsestorm/wp-static-html-output-plugin | Unofficial WP-CLI wrapper for the WP Static HTML Output Plugin | Alan Storm | dev-master |
| sebastiaandegeus/wp-cli-salts-command | Manage salts for your WordPress installation | | dev-master |
| sinebridge/wp-cli-about | Returns information about the wordpress installation and environment | Sinebridge,Mark Wallace | dev-develop |
| srtfisher/wp-composer | WP-CLI wrapper for Composer | Sean Fisher | dev-master |
| szepeviktor/wp-cli-database-prefix-command | Perform operations on prefixed database tables. | Viktor Szépe | dev-master |
| tillkruss/wp-cli-kraken | WP-CLI command to optimize WordPress image attachments using the Kraken Image | Till Krüss | dev-master |
| | Optimizer. | | |
| viewone/wp-cli-environment | Environment package for wp-cli | Piotr Kierzniewski | dev-develop |
| wp-cli/server-command | Start a development server for WordPress | | dev-master |
| wp-cli/wp-super-cache-cli | Add a `wp super-cache` command to support the WP Super Cache plug-in | WP-CLI Team | dev-master |
| x-team/wp-cli-ssh | Invoke WP-CLI on another server via SSH from local machine | Jonathan Bardo,Weston Ruter | dev-issue-7 |
+————————————————+——————————————————————————-+——————————————+—————————+
[/bash]
wp package install
パッケージを新しくインストールします。
上の方で試した通りですね。
wp package uninstall
パッケージをアンインストールします。
こちらはインストールの逆です。
wp package list
インストール済みパッケージのリストを出します。
[bash]
$ wp package list
+———————————+————————————————————-+——————+————+
| name | description | authors | version |
+———————————+————————————————————-+——————+————+
| danielbachhuber/wp-hook-command | List callbacks registered to a given action or filter | Daniel Bachhuber | dev-master |
| danielbachhuber/wp-rest-cli | Unlock the potential of the WP REST API at the command line | Daniel Bachhuber | dev-master |
+———————————+————————————————————-+——————+————+
[/bash]
追加したパッケージの使い方は後ほど紹介したいと思いますが、今回はとりあえずここまで。