Skip to content

Installation

Igir is supported on Windows, macOS, Linux, and every other operating system that Node.js supports.

There are a few different installation options offered for Igir with varying levels of technical complexity. Every option will require some baseline understanding of command-line interfaces (CLIs).

Via downloaded executable

GitHub: release Bun

The most straightforward way to run Igir is by downloading the latest version from the GitHub releases page.

Igir does not currently provide an auto-update functionality, but many of the following installation options do.

Via npm

npm: version Node.js

The best way to ensure that you are always running the most up-to-date version of Igir is to run it via npx (which comes installed with Node.js):

npx igir@latest [commands..] [options]

for example:

npx igir@latest copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir-dat-name

Tip

You can alias the Igir npx command in your macOS or Linux dotfiles like this:

alias igir="npx igir@latest"
alias igir="npx igir@latest"

Tip

Igir also supports Bun, which typically executes JavaScript faster and with less memory usage. You can run the latest version of Igir like this:

bunx igir@latest [commands..] [options]

Bun is used to compile the executable releases (above).

Note

If you want to help beta test Igir, you can run the most bleeding-edge version (sometimes called a "nightly") with the command:

npx --yes "https://pkg.pr.new/igir@main" [commands..] [options]

Via Homebrew (macOS)

Homebrew Node.js

Homebrew is a third-party package manager for macOS. You can install Igir with this command:

brew install emmercm/igir/igir

and then run Igir as if it were any other executable:

igir copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir-dat-name

Igir can then be updated with either of these commands

# Update every Homebrew package
brew update

# Update only igir
brew upgrade igir

Via Docker

npm: version Node.js

Docker may be useful or required for dedicated servers such as network-attached storage (NAS) devices. There is no officially published Docker image for Igir, but it is easy to use the official Node.js image:

docker run --interactive --tty --rm ^
  --volume "%cd%:\pwd" ^
  --workdir "/pwd" ^
  node:lts-alpine ^
  npx --yes igir@latest copy zip --dat "*.dat" --input ROMs --output ROMs-Sorted --dir-dat-name
docker run --interactive --tty --rm \
  --volume "$PWD:/pwd" \
  --workdir "/pwd" \
  node:lts-alpine \
  npx --yes igir@latest copy zip --dat "*.dat" --input ROMs --output ROMs-Sorted --dir-dat-name
docker run --interactive --tty --rm \
  --volume "$PWD:/pwd" \
  --workdir "/pwd" \
  node:lts-alpine \
  npx --yes igir@latest copy zip --dat "*.dat" --input ROMs --output ROMs-Sorted --dir-dat-name

Warning

Make sure to quote all of your glob patterns! You want Igir to resolve the patterns against the container's local filesystem, rather than your host OS resolving them.