Skip to content

Environnement Logiciel

Gestionnaire

Info

Nous allons gérer notre environnement logiciel à l'aide du Gestionnaire d'Environnement Logiciel pkgx.
En plus de gérer les logiciels, pkgx permet de gérer les variables d'environnement de manière simple (non-hiérarchique).

Pré-requis

On installe la commande sudo si elle n'est pas déjà installée (par exemple si l'on est dans un conteneur).

\# (command -v sudo) || (apt update && apt -y install sudo)

On installe la commande curl si elle n'est pas déjà installée.

$ (command -v curl) || ( sudo apt update && sudo apt -y install curl ) 

pkgx

Installation

On installe la commande pkgx.

~ $ curl https://pkgx.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3485  100  3485    0     0   9146      0 --:--:-- --:--:-- --:--:--  9171
installing: /usr/local/bin/pkgx
######################################################################## 100.0%
pkgx 2.7.0
pkgm 0.11.1
mash 0.4.0
now type: pkgx --help
~ $ pkgx --help
usage:
  pkgx [+pkg@x.y…] <program|path> [--] [arg…]

examples:
  $ pkgx gum format "# hello world" "sup?"
  $ pkgx node@18 --eval 'console.log("hello world")'
  $ pkgx +openssl cargo build

modes:
  $ pkgx --query bun  # could you run `bun`? (-Q)
  $ pkgx --help       # hi mom!
  $ pkgx --version

flags:
  -q,  --quiet      # suppress brief informational messages
  -qq, --silent     # no chat. no errors. just execute.
  -j,  --json=v2    # output JSON (if sensible)
  -C,  --chdir <d>  # change directory first
  --sync            # sync first (note: rarely if ever needed)
  -v                # print version and continue

more:
  $ xdg-open https://docs.pkgx.sh

Intégration

On intègre la commande pkgx avec notre shell.

~ $ pkgx integrate
/Users/david_delavennat/.zshrc << `source <(pkgx --shellcode)`
/Users/david_delavennat/.bashrc << `eval "$(pkgx --shellcode)"`
/Users/david_delavennat/.bash_profile << `eval "$(pkgx --shellcode)"`
restart your terminal for `pkgx` hooks to take effect

On l'installe avec pkgx.

~/tp/ $ pkgx install github.com/mikefarah/yq
pkgx: installed: ~/.local/bin/yq 

Usage

Warning

Pour pouvoir utiliser l'environnement de développement, défini dans un fichier pkgx.yaml, il faut lancer la commande dev au préalable.