Tea
“run anything” from the creator of `brew`
README

pkgx is a single, standalone binary that can run anything.
  [![coverage][]][coveralls]
Quickstart
- ```sh
- brew install pkgxdev/made/pkgx
- ```
[docs.pkgx.sh/installing-w/out-brew]
Run Anything
- ```sh
- $ deno
- command not found: deno
- $ pkgx deno
- Deno 1.36.3
- > ^D
- $ deno
- command not found: deno
- # ^^ nothing was installed; your system remains untouched
- ```
Run Any Version of Anything
- ```sh
- $ pkgx node@14 --version
- Node.js v14.21.3
- $ pkgx python@2 --version
- Python 2.7.18
- ```
Run Anywhere
macOS
  macOS >= 11
  x86-64 & Apple Silicon
Windows
  WSL2; x86-64. Native windows is planned.
Docker
  sh
  $ pkgx docker run -it pkgxdev/pkgx
  (docker) $ pkgx node@16
  Welcome to Node.js v16.20.1.
  Type ".help" for more information.
  >
  Or in a Dockerfile:
  Dockerfile
  FROM pkgxdev/pkgx
  RUN pkgx deno@1.35 task start
  Or in any image:
  Dockerfile
  FROM ubuntu
  RUN curl https://pkgx.sh | sh
  RUN pkgx python@3.10 -m http.server 8000
  > [docs.pkgx.sh/docker]
CI/CD
  yaml
  - uses: pkgxdev/setup@v1
  - run: pkgx shellcheck
  Or in other CI/CD providers:
  sh
  $ curl https://pkgx.sh | sh
  $ pkgx shellcheck
  > [docs.pkgx.sh/ci-cd]
Shebangs
  sh
  #!/usr/bin/env -S pkgx python@3.10
  > [docs.pkgx.sh/scripts]
Editors
  sh
  $ cd myproj
  myproj $ env +cargo
  (+cargo) myproj $ code .
  Or use [dev][dev]; a separate tool that uses the pkgx primitives to
  automatically determine and utilize your dependencies based on your
  project’s keyfiles.
  sh
  $ cd myproj
  myproj $ dev
  env +cargo +rust
  (+cargo+rust) my-rust-project $ code .
  > [docs.pkgx.sh/editors]
Shell Integration
pkgx puts the whole open source ecosystem at your fingertips and its
optional shell integration makes workflows with that open source
even more seamless.
- ```sh
- $ env +go@1.16
- added ~/.pkgx/go.dev/v1.16 to environment
- (+go) $ go
- Go is a tool for managing Go source code.
- #…
- (+go) $ env | grep go
- PATH=~/.pkgx/go.dev/v1.16.15/bin:$PATH
- LIBRARY_PATH=~/.pkgx/go.dev/v1.16.15/lib
- (+go) $ env -go
- removed ~/.pkgx/go.dev/v1.16 from environment
- $ go
- command not found: go
- ```
Tools are available for the duration of your terminal session.
If you need them for longer, pkgx install.
[docs.pkgx.sh/shell-integration] \
[docs.pkgx.sh/pkgx-install]
dev
dev is a separate tool that leverages pkgx's core
features to auto-detect and install project dependencies, seamlessly
integrating them into your shell and editor.
- ```sh
- my-rust-proj $ dev
- dev: found Cargo.toml; env +cargo +rust
- (+cargo+rust) my-rust-proj $ cargo build
- Compiling my-rust-proj v0.1.0
- #…
- ```
The dev tool requires our shell integration to work.
[docs.pkgx.sh/dev][dev]
Getting Started
- ```sh
- brew install pkgxdev/made/pkgx
- ```
no brew? [docs.pkgx.sh/installing-w/out-brew]
Integrating with your Shell
- ```sh
- pkgx integrate --dry-run # docs.pkgx.sh/shell-integration
- ```
Further Reading
[docs.pkgx.sh][docs] is a comprehensive manual and user guide for pkgx.
Contributing
To add packages see the [pantry README]
To hack on pkgx itself; clone it and then pkgx deno task to list
  entrypoints for hackers
If you have questions or feedback:
[github.com/orgs/pkgxdev/discussions][discussions]
x.com/pkgxdev (DMs are open)
[docs]: https://docs.pkgx.sh
[pantry README]: ../../../pantry#contributing
[discussions]: ../../discussions
[docs.pkgx.sh/pkgx-install]: https://docs.pkgx.sh/pkgx-install
[docs.pkgx.sh/ci-cd]: https://docs.pkgx.sh/ci-cd
[docs.pkgx.sh/scripts]: https://docs.pkgx.sh/scripts
[docs.pkgx.sh/editors]: https://docs.pkgx.sh/editors
[docs.pkgx.sh/docker]: https://docs.pkgx.sh/docker
[docs.pkgx.sh/installing-w/out-brew]: https://docs.pkgx.sh/installing-w/out-brew
[docs.pkgx.sh/shell-integration]: https://docs.pkgx.sh/shell-integration
[dev]: https://docs.pkgx.sh/dev
[coverage]: https://coveralls.io/repos/github/pkgxdev/pkgx/badge.svg?branch=main
[coveralls]: https://coveralls.io/github/pkgxdev/pkgx?branch=main
 探客时代
探客时代
