Getting Started

Start with an existing Rails app if possible. Pack is easiest to evaluate when it has to earn a place in a workflow Ruby developers already know.

Install Pack

gem install pack-rb
pack --help

gem install pack-rb — the last gem command you should need for installing Pack itself.

The primary install path is the RubyGems wrapper gem. It installs a pack launcher and downloads the matching release binary on first run.

Note

pack-rb is the RubyGems package name because pack is already taken on RubyGems.org.

All installation options

Pack can be installed directly as a binary with checksum verification, or through the RubyGems wrapper:

Linux / macOS

Direct binary installer

curl -fsSL https://raw.githubusercontent.com/Blu3Ph4ntom/pack/main/scripts/install.sh | bash

Windows PowerShell

Direct binary installer

powershell -ExecutionPolicy Bypass -Command "
iwr https://raw.githubusercontent.com/Blu3Ph4ntom/pack/main/scripts/install.ps1 -UseBasicParsing | iex
"

RubyGems wrapper

Portable wrapper install

gem install pack-rb

Contributors

Source install

cargo install --path crates/pack-cli

The shell and PowerShell installers do not require Ruby. They install the Pack binary directly into ~/.local/bin (or the path in PACK_INSTALL_DIR).

Set PACK_VERSION to pin a specific release version in either installer script.

Add Pack to an existing Rails project

pack init
pack doctor
pack install
pack lock
pack server

Note

pack init generates Pack-specific helper files, can produce Docker support, and prepares the project for Pack-driven workflows.

Create a new Rails project

pack new myapp --docker --database postgresql
cd myapp
pack install
pack server

Pack exposes a dedicated new command intended to wrap Rails project creation and layer Pack-specific setup on top.

First commands to run

  • pack doctor checks Gemfile presence, Ruby tooling, cache directories, installed gems, and Rails-specific issues.
  • pack setup bootstraps Ruby and Rails automatically on supported platforms.
  • pack list, pack search, and pack info let you validate the gem-facing path immediately.
  • pack run and pack tasks expose Packfile-managed project commands.
  • pack console, pack test, and pack db migrate prove the Rails-facing workflow story.
  • pack update --global updates globally installed gems through RubyGems, and pack upgrade refreshes Pack through RubyGems or the direct binary installer.