Skip to content

maxam2017/installr

Repository files navigation

> installr

installr logo

GitHub Release CI Language Lincense

installr is a performant package installation tool designed to simplify the process of managing and installing packages while automatically resolving dependencies.

It currently supports on macOS 🍎 only.

What's included

  • 🤖 Automated Installation: installr automatically installs specified packages and resolves their dependencies, ensuring that packages are installed in the correct order.

  • ⚡️ Performant Installation: installr is designed to be fast and efficient, installing packages in parallel to minimize installation time.

  • 🧾 Simple Configuration: Define your packages and their dependencies in a JSON or YAML configuration file.

Installation

No dependencies required. Just download the latest binary from the releases page.

After downloading the binary, make it executable by running the following command:

chmod +x installr

If you want to use installr from anywhere, move it to a directory in your PATH, such as /usr/local/bin:

mv installr /usr/local/bin

Usage

Create a configuration file (config.json or config.yaml) with a list of packages and their dependencies. For example:

{
  "packages": [
    {
      "name": "packageA",
      "installScript": ["npm install -g packageA"],
      "dependencies": ["packageB", "packageC"]
    },
    {
      "name": "packageB",
      "installScript": ["npm install -g packageB"]
    },
    {
      "name": "packageC",
      "installScript": ["npm install -g packageC"],
    }
  ]
}

Run installr with your configuration file:

installr config.json

installr will automatically install the specified packages and handle dependencies. (In this example, packageB and packageC will be installed before packageA.)

For more details about the configuration file, see the schema.json file.

Options

  • -h, --help: Show help message.

License

Distributed under the MIT License - see LICENSE file for detail.