# pkgx — Run Anything from Anywhere Without Installing > pkgx is a cross-platform package runner created by the original author of Homebrew. It lets you run any open-source tool instantly without installing it permanently. pkgx resolves dependencies on the fly, caches them locally, and provides dev environment integration. ## Install Save as a script file and run: # pkgx — Run Anything from Anywhere Without Installing ## Quick Use ```bash # Install pkgx curl -Ssf https://pkgx.sh | sh # Run a tool without installing it pkgx node@20 --version pkgx python@3.12 -c "print('hello')" # Use dev command to auto-activate project environments cd my-project # has package.json or .python-version dev # activates the right node/python version ``` ## Introduction pkgx was created by Max Howell, the original creator of Homebrew, as a rethinking of how package management should work. Instead of installing tools globally, pkgx runs them on demand, resolving and caching dependencies transparently. It also provides a dev command that reads project configuration files and activates the correct tool versions automatically. ## What pkgx Does - Runs any open-source tool instantly without a permanent install step - Caches downloaded packages locally for fast subsequent launches - Reads project files (.node-version, .python-version, package.json) to auto-select tool versions - Resolves transitive dependencies automatically at runtime - Works across macOS and Linux with a single unified interface ## Architecture Overview pkgx uses a pantry of package definitions hosted on GitHub that describe how to fetch pre-built binaries for each platform and architecture. When you invoke a tool, pkgx checks its local cache (~/.pkgx), downloads any missing packages as pre-built tarballs, and assembles an isolated environment with the correct PATH and library paths. The dev integration uses shell hooks to detect project config files and activate the matching environment when you enter a directory. ## Self-Hosting & Configuration - Install with a one-line curl script or via Homebrew - Packages are cached in ~/.pkgx and can be pruned manually - The pantry (package definitions) is open source and accepts community contributions - Shell integration for dev auto-activation is set up by adding an eval to your shell rc file - Environment variables control cache location and verbosity ## Key Features - Zero-install execution removes the friction of setting up tools for quick tasks - Automatic version management per project via standard config files - Cross-platform pre-built binaries for macOS and Linux - Composable environments that layer multiple tools without conflicts - Open pantry allows anyone to add or update package definitions ## Comparison with Similar Tools - **Homebrew** — installs tools globally and permanently; pkgx runs them ephemerally by default - **mise (rtx)** — manages runtime versions per project but requires explicit install steps - **asdf** — plugin-based version manager; pkgx needs no plugins and works with pre-built binaries - **Nix** — more comprehensive and reproducible but has a steeper learning curve - **npx** — runs Node.js packages on demand but is limited to the npm ecosystem ## FAQ **Q: Is pkgx a replacement for Homebrew?** A: It solves a different problem. Homebrew installs tools permanently; pkgx runs them on demand. They can coexist. **Q: How does the dev command know which tools I need?** A: It reads standard project files like package.json, .python-version, .ruby-version, and Gemfile to determine the required tools and versions. **Q: Does pkgx build from source?** A: No. It downloads pre-built binaries from its CDN. The pantry defines how to build packages, but end users get cached binaries. **Q: What platforms are supported?** A: macOS (Intel and Apple Silicon) and Linux (x86_64 and aarch64). Windows support is planned. ## Sources - https://github.com/pkgxdev/pkgx - https://pkgx.sh/ --- Source: https://tokrepo.com/en/workflows/asset-3e86cc97 Author: Script Depot