yarn install -h
suggère que l'option -g
(globale) est DEPRECATED
. Comment suis-je censé indiquer que je veux qu'un paquet de paquets (à partir de fichiers package.json
/yarn.lock
) soit installé globalement?
Options que j'ai vues:
yarn global [command]
a des choses telles que ls
et add
mais pas install
. add
ne fonctionne qu'avec des noms de paquet particuliers, si je comprends bien. J'ai déjà mon fichier yarn.lock
prêt, je ne veux pas me répéter sur la ligne de commande.yarn global add
chaque paquet un par un. Maintenant, ma liste de paquets serait impérative au lieu de déclarative.En particulier, j'aimerais utiliser un exécutable de l'un de ces packages.
Vous ne devriez pas . Yarn décourage l'installation au niveau mondial, et il existe très peu de situations où cela est nécessaire, voire utile.
Comme indiqué dans la documentation :
Pour la grande majorité des paquets, il est considéré comme une mauvaise pratique d’avoir des dépendances globales car elles sont implicites. Il est bien préférable d’ajouter localement toutes vos dépendances afin qu’elles soient explicites et que toute autre personne utilisant votre projet obtienne le même ensemble de dépendances.
Si vous essayez d'utiliser un outil CLI doté d'une corbeille, vous pouvez y accéder dans votre répertoire ./node_modules/.bin.
Si vous vraiment ne voulez pas écouter les conseils donnés, utilisez
yarn global add <package>
Cependant, ne vous attendez pas à installer facilement une énorme liste de dépendances au niveau mondial. Il est difficile de le faire par conception , car ce n'est pas une bonne idée.
Au lieu de cela, le flux prévu avec Yarn est:
./node_modules/.bin
si possibleTapez simplement
yarn global add nodejs
Pour ceux qui sont intéressés, voici un moyen d’installer et de gérer des applications globales installées via fil.
Créez d’abord un répertoire qui contiendra les applications, par exemple ~/.yarn-global
:
mkdir ~/.yarn-global
cd ~/.yarn-global
Ensuite, installez votre application à partir d'ici:
yarn add yourapp
Enfin, ouvrez votre fichier de profil, à savoir .bashrc
ou .bash_profile
, et ajoutez le chemin d'accès au répertoire bin:
export PATH="$PATH:$HOME/.yarn-global/node_modules/.bin"
A partir de maintenant, toute application que vous installez dans ce répertoire sera disponible depuis n'importe où dans votre Shell.
Une fois cela fait, vous pouvez même créer un script d’utilitaire yarn-global
qui ne fonctionnera que dans ce répertoire .yarn-global. Par exemple:
Sudo vim /usr/bin/yarn-global
Sudo chmod 755 /usr/bin/yarn-global
Et le contenu du script serait:
#!/bin/bash
cd "$HOME/.yarn-global"
yarn $1 "$2"
Vous pouvez maintenant faire yarn-global add someapp
, yarn-global upgrade someapp
, etc.