= Install and Update

To simplify installation, Asciidoctor is packaged as a gem and published to the gem hosting service at {url-rubygems}/asciidoctor[RubyGems.org^].
Asciidoctor is also distributed as a managed package for popular Linux distributions and macOS.

TIP: In addition to running on Ruby, Asciidoctor can be executed on a JVM using xref:asciidoctorj::index.adoc[AsciidoctorJ] or in any JavaScript environment (including the browser) using xref:asciidoctor.js::index.adoc[Asciidoctor.js].

== Installation methods

Asciidoctor can be installed using:

* Bundler,
* the package manager for popular Linux distributions,
* Homebrew or MacPorts for macOS,
* the `gem install` command (recommended for Windows users), or
* the Asciidoctor Docker image

IMPORTANT: To update or uninstall Asciidoctor, you should use the same method you used to install it.

Bundler is the preferred method of installation as it keeps the gems scoped to your project or workspace.
However, this method of installation does not make the `asciidoctor` command available globally in your terminal.
That's when a package manager is more appropriate.

The benefit of using your operating system's package manager to install the gem is that it adds the `asciidoctor` command to your PATH and it handles installing Ruby and the RubyGems library if those packages are not already installed on your machine.
On the other hand, if you're familiar with Docker, using the Asciidoctor Docker image may give you the best isolation from your system.
