web-dev-qa-db-fra.com

Que fait "lien brassage"?

Lorsque je lance brew doctor, je reçois l'avertissement commun:

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
# [...]

Qu'est-ce que cela signifie pour les fûts d'être dissociés? Et que fait exactement brew link?

41
mbaytas

brew link crée des liens symboliques vers des installations que vous avez effectuées manuellement dans Cellar. Cela vous permet d’avoir la possibilité d’installer vous-même des éléments tout en conservant leur participation en tant que dépendances dans les formules homebrew.

Voir le FAQ pour plus d'informations.

Suivez ces instructions et exécutez brew link sur les entrées qu’il répertorie.

20
leeor

Homebrew peut autoriser l'installation de plusieurs versions d'une formule. Par exemple, il existe des formules appelées node et node@10 et similaires.

$ brew info node@10
...
==> Caveats
node@10 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

Si j'ai à la fois node et node@10 installé, node est à v11. Je peux décider plus tard d'activer la version précédente avec brew link:

$ brew unlink node

$ brew link node@10

$ cd /urs/local/bin
$ ls -l node
lrwxr-xr-x  1 user  admin  34 12 Dec 20:07 node -> ../Cellar/node@10/10.14.1/bin/node

Ici, le lien symbolique node pointe vers une version antérieure (keg-only) installée dans Cellar.

1
themefield