node.js - nodejs - Cómo instalar paquetes globales con hilo
npm install (3)
yarn install -h
sugiere que la opción -g
(global) está DEPRECATED
. ¿Cómo se supone que debo indicar que quiero que se instalen globalmente un montón de paquetes (de los archivos package.json
/ yarn.lock
)?
Opciones que vi:
-
yarn global [command]
tiene cosas comols
yadd
pero noinstall
.add
solo funciona con nombres de paquetes particulares, si lo entiendo correctamente. Ya tengo mi archivoyarn.lock
listo, no quiero repetirlo en la línea de comandos. -
yarn global add
cada paquete uno por uno. Ahora mi lista de paquetes sería imperativa en lugar de declarativa.
Específicamente, me gustaría usar un ejecutable de uno de esos paquetes.
¿Cómo se supone que debo indicar que quiero que se instalen globalmente un montón de paquetes (de los archivos package.json / yarn.lock)?
Usted no Se desaconseja la instalación global, y hay muy pocas situaciones en las que sea necesario, o incluso útil.
Como se señala en la documentación :
Para la gran mayoría de los paquetes, se considera una mala práctica tener dependencias globales porque están implícitas. Es mucho mejor agregar todas sus dependencias localmente para que sean explícitas y cualquier otra persona que use su proyecto obtenga el mismo conjunto de dependencias.
Si está tratando de usar una herramienta CLI que tiene un contenedor, puede acceder a estos en su directorio ./node_modules/.bin.
Si hay situaciones en las que desea instalarlo globalmente, use yarn global add
, pero no espere instalar fácilmente una gran lista de dependencias a nivel mundial, es difícil hacerlo por diseño , porque no es una buena idea.
En lugar:
- Instala todo localmente, para que cada proyecto quede aislado.
- llamar a los binarios desde
./node_modules/.bin
cuando sea posible - Evite las instalaciones globales: son una conveniencia, pero no una en la que deba confiar.
Para aquellos interesados, aquí hay una manera de instalar y administrar aplicaciones globales instaladas a través de hilos.
Primero cree un directorio que contendrá las aplicaciones, por ejemplo ~/.yarn-global
:
mkdir ~/.yarn-global
cd ~/.yarn-global
Luego instale su aplicación desde aquí:
yarn add yourapp
Finalmente, abra su archivo de perfil, es decir, .bashrc
o .bash_profile
y agregue la ruta al directorio bin:
export PATH="$HOME/.yarn-global/node_modules/.bin:$PATH"
A partir de ahora, cualquier aplicación que instale en este directorio estará disponible desde cualquier lugar de su shell.
Una vez hecho esto, incluso puede crear un script de utilidad yarn-global
que solo funcionará en este directorio .yarn-global. Por ejemplo:
sudo vim /usr/bin/yarn-global
sudo chmod 755 /usr/bin/yarn-global
Y el contenido del script sería:
#!/bin/bash
cd "$HOME/.yarn-global"
yarn $1 "$2"
Ahora puede hacer yarn-global add someapp
yarn-global upgrade someapp
, yarn-global upgrade someapp
, etc.
Simplemente escriba
yarn global add nodejs