Catégories
Productivité

Chocolatey et Homebrew Packages Managers pour Windows et MAC OS

Qu’est ce qu’un package manager

Définition

Un package manager (gestionnaire de packages) est un outil la plupart du temps en ligne de commande (CLI), qui permet de chercher, télécharger et d’installer des packages simplement (exécutables ou librairies) sur votre système (Linux, Windows ou MAC OS).

Les utilisateurs de Linux Debian (et donc d’Ubuntu mais aussi Raspbian) connaissent depuis bien longtemps la commande apt (Advanced Packaging Tool). Heureusement les utilisateurs de Windows et MAC ont maintenant des outils similaires :

Chocolatey pour Windows (choco pour les intimes)
Voici la page vous permettant de chercher un package chocolatey : https://chocolatey.org/packages
et le référentiel des commandes

Homebrew est l’équivalent de choco pour MAC OS
Homebrew possède un vocabulaire propre et un système de packages (les formulas) reposant sur Git pour la distribution et si vous souhaitez savoir  si un programme est disponible (et trouver des infos sur le package) à travers Homebrew, voici un « index » : brewformulas.org et le référentiel des commandes

Intérêts

Un Package manager (choco, homebrew, apt, aptitude etc.) est le genre d’outil qui devient vite indispensable tellement il facilite la vie, mais voici les plus grands avantages:

  • ils nous font gagner du temps et leurs prise en main est simplissime 🙂
  • permettent d’installer facilement et rapidement les freewares les plus répandus, pas besoin de googler => fouiller le site de l’éditeur pour la section download => télécharger l’exe => installer en clickclickant…
  • avoir des logiciels à priori « clean » de spyware et autres, car validés avant leurs mises à dispositions

Chocolatey

Nous allons prendre exemple d’une installation d’une version spécifique de NodeJs sur notre machine Windows.

Bases

Installer la CLI Choco.exe sur votre machine en suivant l’une des procédures officielles d’installation de choco.

Lister les package installés en local avec :

choco list --local-only # ou choco list -li

Chercher avec choco search

Nous allons tout d’abord chercher si le package est disponible via la commande choco search
j’ai ici réduit les listes de résultats par soucis de clarté:

choco search nodejs
# Chocolatey v0.10.8
# nodejs 9.1.0 [Approved]
# nodejs.install 9.1.0 [Approved]
# nodejs.commandline 6.11.0 [Approved]
# yarn 1.3.2 [Approved] Downloads cached for licensed users
# nodejs-lts 8.9.1 [Approved]

Il est possible d’obtenir un affichage un peu plus clair et concis avec l’option -r :

choco search nodejs -r
# nodejs|9.1.0
# nodejs.install|9.1.0
# nodejs.commandline|6.11.0
# yarn|1.3.2
# nodejs-lts|8.9.1

Nous voyons que le package s’appel « exactement » NodeJs ce qui réduit notre champs de réponses avec l’option -e :

choco search nodejs -re
# Parsing -re resulted in error (converted to warning):
# Cannot bundle unregistered option '-e'.
# Chocolatey v0.10.8
# nodejs|9.1.0

Pour une version spécifique (ex: 8.x) c’est l’option -a qui vous listera toutes les versions de NodesJs existantes:

choco search nodejs -are
# Chocolatey v0.10.8
# nodejs|9.1.0
# nodejs|9.0.0
# nodejs|8.9.1
# nodejs|8.9.0.20171107
# nodejs|8.9.0

Installer un programme avec choco install

Il suffit simplement d’installer la version voulue par ex la 8.9.1 avec la commande choco install :

choco install nodejs --version 8.9.1

(bien sure ceci n’est qu’un exemple, dans le cas précis de NodeJs je vous conseille de passer par nvm pour pouvoir gérer au mieux les différentes versions de Node sur votre machine.

Mettre à jour nos programmes avec choco upgrade

Il est possible de mettre à jour n’importe quel package installé via chocolatey (y compris chocolatey lui même) par la commande choco upgrade , mais aussi faire une mise à jour de toutes les applis (attention cela peut prendre du temps) par un  :

choco upgrade all -y

Pour mettre à jour une application en particulier commencer par lister tous ceux installées en local:

choco list --local-only

puis utiliser choco upgrade (par ex pour Filezilla) :

choco upgrade -y filezilla

Supprimer un package

utiliser simplement

choco uninstall nom_du_package

Homebrew pour OSX

Homebrew ou brew pour les intimes est l’équivalent pour MAC de chocolatey, simple d’utilisation il permet d’installer des outils simplement et rapidement en ligne de commande.
Voici le cheat sheet de brew

Commandes brew

brew search xxx  
brew install xxx
brew list         # liste de tous les packages installés
brew list xxx     # ensemble des fichiers du package xxx installé
brew info xxx     # infos basiques sur le package xxx

brew update       # mets à jour brew et ses formules
brew outdated     # liste les packages comportant des mises à jour
brew upgrade      # mets à jour tout les packages
brew upgrade nom_du_package

Cask

Homebew a introduit un nouvel outil « Cask » qui permet d’installer des applications avec GUI tels que VLC, dropbox, firefox, keepassx pour n’en citer que quelques uns.
Un brew search  nous indiquera  clairement que vlc est installable via cask uniquement :

mac:~ $ brew search vlc
==> Casks
vlc ✔

il faudra donc l’installer via la commande brew cask :

mac:~ $ brew cask install vlc
.....
🍺  vlc was successfully installed!