GitHub Action Gratis Activo

npm-install (GitHub Action)

Para instalar dependencias de npm o Yarn en tus workflows de GitHub Actions cacheando automáticamente node_modules.

GitHub Action que instala dependencias de npm o Yarn con caché automática y casi sin configuración.

Notas y contexto

Qué es

npm-install es una GitHub Action creada por Gleb Bahmutov (bahmutov) que instala las dependencias de un proyecto Node.js y gestiona la caché de forma automática. Detecta el gestor a partir del fichero de lock (package-lock.json, npm-shrinkwrap.json o yarn.lock) y soporta tanto npm como Yarn. Es open source bajo licencia MIT.

Para qué sirve

  • Instalar dependencias en un workflow de CI sin configurar manualmente el paso de caché.
  • Cachear node_modules entre ejecuciones para acelerar los builds.
  • Trabajar con monorepos instalando en varios directorios mediante working-directory.
  • Personalizar el comando de instalación o forzar solo dependencias de producción con NODE_ENV.

Cuándo usarlo

Encaja cuando quieres una instalación cacheada lista para usar con poca configuración, especialmente si necesitas cachear la carpeta node_modules completa (no solo el caché del gestor). Para casos sencillos hoy puedes lograr un resultado similar con actions/setup-node, que ya incluye caché integrada; valora npm-install cuando necesites opciones como caché rotativa, múltiples directorios o comandos de instalación a medida.

Ejemplo

name: CI
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - uses: bahmutov/npm-install@v1
      - run: npm test

Para un monorepo, indicando varios directorios de trabajo:

- uses: bahmutov/npm-install@v1
  with:
    working-directory: |
      app
      packages/ui
    useRollingCache: true

Puntos clave

  • Detecta automáticamente npm o Yarn según el fichero de lock presente.
  • Cachea la carpeta node_modules y restaura solo si el lock no ha cambiado.
  • Soporta múltiples directorios de instalación, útil para monorepos.
  • Opciones como useRollingCache, install-command, cache-key-prefix y useLockFile para afinar el comportamiento.

Ten en cuenta

actions/setup-node ya ofrece caché integrada de dependencias (parámetro cache), por lo que para flujos estándar puede bastar sin añadir esta acción. npm-install sigue siendo útil cuando quieres cachear node_modules entero o usar su caché rotativa en proyectos donde la instalación es lenta. El proyecto está activo y mantenido (última versión v1.12.1), pero la mayoría del trabajo recae en un único autor.

Volver al directorio
Volver al directorio