Installation

  1. Ruby
  2. The gem
  3. Peer dependencies
    1. Locally
    2. On each remote
  4. Platform notes
    1. macOS
    2. Linux
    3. Windows

Ruby

wordmove-ng needs Ruby 3.0 or newer. Check with ruby --version. If your system Ruby is older or missing, use a version manager:

The gem

gem install wordmove-ng
wordmove-ng --version

To run the latest master instead of a release:

gem install specific_install
gem specific_install https://github.com/tekgnosis-net/wordmove-ng.git

From a checkout, for development:

git clone https://github.com/tekgnosis-net/wordmove-ng.git
cd wordmove-ng
bundle install
bin/wordmove-ng --help

The legacy wordmove 5.x gem can stay installed alongside: the executables have different names.

Peer dependencies

wordmove-ng is orchestration glue around standard tools. wordmove-ng doctor reports exactly what is missing on which side, and every database operation re-checks before doing anything.

Locally

Program Needed for
ssh, scp, rsync every remote operation
sshpass only when ssh.password is set in the movefile
gzip database sync
mysqldump or mariadb-dump push -d (dumping the local database)
mysql or mariadb pull -d (importing into the local database) and doctor
wp (WP-CLI) pull -d (adapting the local database)

On each remote

In the $PATH of a non interactive login. Check with ssh host 'echo $PATH'.

Program Needed for
rsync, gzip file and database sync
mysqldump or mariadb-dump pull -d
mysql or mariadb, wp push -d

WP-CLI is a single PHAR file. If your host does not ship it, put it in ~/bin and add that directory to PATH in ~/.bashrc or ~/.profile: installing WP-CLI.

Platform notes

macOS

Install Homebrew, then brew install rsync. Local database tools come with your MySQL/MariaDB or with tools such as MAMP or Local; make sure their bin directory is in your PATH (see Troubleshooting). sshpass is only needed for password authentication (brew install hudochenkov/sshpass/sshpass); prefer keys.

Linux

Everything comes from your distribution: for Debian and Ubuntu sudo apt install rsync gzip openssh-client mariadb-client, then WP-CLI as above.

Windows

Use WSL (Windows Subsystem for Linux) and run wordmove-ng inside the Linux distribution. Native Windows is not supported.

wsl --install

Then, inside the Ubuntu shell:

sudo apt update
sudo apt install -y ruby-full build-essential rsync gzip openssh-client mariadb-client
sudo gem install wordmove-ng
ssh-keygen -t ed25519

Add ~/.ssh/id_ed25519.pub to your host. In movefile.yml use Linux paths (C:\ becomes /mnt/c/) and 127.0.0.1 rather than localhost for a MySQL server running on Windows. Files under /mnt/c all appear with permissions 777; to get sane permissions on the server add

ssh:
  rsync_options: "--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r"

Copyright © 2013-2019 weLaika Soc. Coop. (Wordmove), 2026 tekgnosis.net (wordmove-ng). Distributed under the MIT license.

This site uses Just the Docs, a documentation theme for Jekyll.