99 votes

Comment installer des paquets globaux avec du fil

yarn install -h suggère que l' -g (globale) de l'option est - DEPRECATED. Comment suis-je censé indiquer que je souhaite un tas de paquets (à partir de package.json / yarn.lock fichiers) pour être installé à l'échelle mondiale?

Les Options que j'ai vu:

  • yarn global [command] a des choses comme ls et add mais pas install. add seulement des œuvres, et notamment les noms de paquets, si je comprends bien. J'ai déjà mes yarn.lock le fichier 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ératif au lieu de déclaratif.

Especifically, je voudrais utiliser un exécutable à partir de l'un de ces paquets.

104voto

vijay Points 3460

Tapez simplement

yarn global add nodejs

57voto

Aurora0001 Points 6416

Comment suis-je censé indiquer que je souhaite un tas de paquets (à partir de package.json / fils.les fichiers de verrouillage) pour être installé à l'échelle mondiale?

Vous n'avez pas. Installation à l'échelle mondiale est découragé, et il y a très peu de situations où il est nécessaire, ni même utile.

Comme indiqué dans la documentation:

Pour la grande majorité des paquets, il est considéré comme une mauvaise pratique à l'échelle des dépendances parce qu'ils sont implicites. Il est beaucoup mieux pour ajouter tous vos dépendances, localement, de sorte qu'ils sont explicites et de toute autre personne à l'aide de votre projet obtient le même ensemble de dépendances.

Si vous essayez d'utiliser un outil CLI qui a un bac, vous pouvez accéder à ces dans votre ./node_modules/.répertoire bin.

Si il y a des situations où vous ne voulez l'installer à l'échelle mondiale, l'utilisation yarn global add, mais ne vous attendez pas à installer facilement une énorme liste de dépendances à l'échelle mondiale-il est difficile de le faire par la conception, parce que ce n'est pas une bonne idée.

Au lieu de cela:

  • tout installer localement, de sorte que chaque projet est un cas isolé
  • appel binaires ./node_modules/.bin si possible
  • éviter mondiale installe-ils sont une commodité, mais pas celui que vous devez compter sur.

16voto

this.lau_ Points 23290

Pour ceux que cela intéresse, voici un moyen d'installer et de gérer des applications au niveau mondial installé via de fil.

D'abord créer un répertoire qui contiendra les applications, par exemple ~/.yarn-global:

mkdir ~/.yarn-global
cd ~/.yarn-global

Installez votre application à partir d'ici:

yarn add yourapp

Enfin, ouvrez votre fichier de profil, c'est à dire .bashrc ou .bash_profile et ajouter le chemin du répertoire bin:

export PATH="$HOME/.yarn-global/node_modules/.bin:$PATH"

À partir de maintenant, toutes les applications que vous installez dans ce répertoire sera disponible à partir de n'importe où dans votre shell.

Une fois cela fait, vous pouvez même créer un yarn-global utilitaire de script qui ne fonctionne que dans le présent .fil-l'annuaire mondial. Par exemple:

sudo vim /usr/bin/yarn-global
sudo chmod 755 /usr/bin/yarn-global

Et le script contenu serait:

#!/bin/bash
cd "$HOME/.yarn-global"
yarn $1 "$2"

Maintenant vous pouvez le faire yarn-global add someapp, yarn-global upgrade someapp, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X