Skip to content

Instalar Dependencias

vp install instala las dependencias usando el gestor de paquetes del espacio de trabajo (workspace) actual.

Vista General

Usa Vite+ para gestionar las dependencias a través de pnpm, npm, Yarn y Bun. En lugar de cambiar entre pnpm install, npm install, yarn install y bun install, puedes seguir usando vp install, vp add, vp remove y el resto de los comandos de gestión de paquetes de Vite+.

Vite+ detecta el gestor de paquetes desde la raíz del workspace en este orden:

  1. packageManager en el package.json
  2. devEngines.packageManager en el package.json
  3. pnpm-workspace.yaml
  4. pnpm-lock.yaml
  5. yarn.lock o .yarnrc.yml
  6. package-lock.json
  7. bun.lock o bun.lockb
  8. .pnpmfile.cjs o pnpmfile.cjs
  9. bunfig.toml
  10. yarn.config.cjs

Si ninguno de esos archivos está presente, vp recurre a pnpm por defecto. Vite+ descarga automáticamente el gestor de paquetes correspondiente y lo utiliza para el comando que ejecutaste. Cuando la detección proviene de archivos lockfile o archivos de configuración, la versión resuelta se escribe en devEngines.packageManager para que las ejecuciones futuras sean deterministas; los proyectos que ya declaran packageManager o devEngines.packageManager se dejan como están.

El campo devEngines.packageManager acepta un solo objeto o un array de objetos, y su version puede ser un rango semver (semver range):

json
{
  "devEngines": {
    "packageManager": {
      "name": "pnpm",
      "version": "^11.0.0",
      "onFail": "download"
    }
  }
}

Un rango se resuelve a una versión satisfactoria ya descargada cuando sea posible; de lo contrario, se resuelve a la última versión satisfactoria del registro de npm. El rango en sí sigue siendo la fuente de verdad; Vite+ nunca lo congela en una fijación (pin) exacta en packageManager. Cuando se declaran tanto packageManager como devEngines.packageManager, el campo packageManager dirige la selección y Vite+ advierte cuando este no cumple con la restricción de devEngines (vp env doctor muestra los detalles).

Actualmente, Vite+ descarga el gestor de paquetes declarado (el comportamiento de onFail: "download"); los otros valores de onFail se aceptan pero aún no se diferencian.

El campo explícito packageManager (o la declaración devEngines.packageManager) también afecta a los shims de los gestores de paquetes correspondientes. Si un proyecto tiene packageManager: "npm@10.9.4", npm y npx usan npm 10.9.4. Otros pares de alias generados se comportan de la misma manera: pnpm/pnpx, yarn/yarnpkg y bun/bunx. Las herramientas que no coinciden no se traducen; npm en un proyecto pnpm todavía se resuelve como npm.

Uso

bash
vp install

Flujos de instalación comunes:

bash
vp install
vp install --frozen-lockfile
vp install --lockfile-only
vp install --filter web
vp install -w

vp install se mapea al comportamiento de instalación subyacente correcto para el gestor de paquetes detectado, incluyendo los parámetros de archivo de bloqueo (lockfile) adecuados para pnpm, npm, Yarn y Bun.

Paquetes Globales

Usa el parámetro -g para instalar, actualizar o eliminar paquetes instalados globalmente:

  • vp install -g <pkg> instala un paquete globalmente.
  • vp uninstall -g <pkg> elimina un paquete global.
  • vp update -g [pkg] acredita un paquete global o todos ellos.
  • vp list -g [pkg] enumera los paquetes globales.
  • vp outdated -g [pkg] imprime los paquetes desactualizados.

ADVERTENCIA

Estos comandos NO interactúan con el directorio de instalación global del gestor de paquetes subyacente.

En su lugar, Vite+ gestiona sus propios paquetes globales bajo VP_HOME/packages, lo que permite que sigan estando disponibles en diferentes versiones de Node.js.

Como resultado, comandos como vp link no afectan a los paquetes globales de Vite+ y no aparecerán en vp list -g.

Gestionar Dependencias

Vite+ proporciona todos los comandos familiares de gestión de paquetes:

  • vp install instala el grafo de dependencias actual del proyecto.
  • vp add <pkg> añade paquetes a dependencies; usa -D para devDependencies.
  • vp remove <pkg> elimina paquetes.
  • vp update actualiza las dependencias.
  • vp dedupe reduce las entradas de dependencias duplicadas donde el gestor de paquetes lo admita.
  • vp outdated muestra las actualizaciones disponibles.
  • vp list muestra los paquetes instalados.
  • vp why <pkg> explica por qué un paquete está presente.
  • vp info <pkg> muestra los metadatos del registro de un paquete.
  • vp rebuild reconstruye los módulos nativos (ej. después de cambiar la versión de Node.js).
  • vp link y vp unlink gestionan enlaces de paquetes locales.
  • vp dlx <pkg> ejecuta el binario de un paquete sin añadirlo al proyecto.
  • vp pm <comando> reenvía un comando bruto específico del gestor de paquetes cuando necesites un comportamiento fuera del conjunto de comandos normalizados de vp.

Guía de Comandos

Install

Usa vp install cuando quieras instalar exactamente lo que describen el package.json y el lockfile actuales.

  • vp install es el comando de instalación estándar.
  • vp install --frozen-lockfile falla si el lockfile necesitara cambios.
  • vp install --no-frozen-lockfile permite actualizaciones del lockfile de forma explícita.
  • vp install --lockfile-only actualiza el lockfile sin realizar una instalación completa.
  • vp install --prefer-offline y vp install --offline prefieren o requieren paquetes en caché.
  • vp install --ignore-scripts omite los scripts del ciclo de vida.
  • vp install --filter <patrón> limita el trabajo de instalación en monorepos.
  • vp install -w instala en la raíz del workspace.

Instalación Global

Usa estos comandos cuando quieras que las herramientas gestionadas por el gestor de paquetes estén disponibles fuera de un único proyecto.

  • vp install -g typescript
  • vp uninstall -g typescript
  • vp update -g
  • vp list -g
  • vp outdated -g

Add y Remove

Usa vp add y vp remove para las ediciones diarias de dependencias en lugar de editar el package.json a mano.

  • vp add react
  • vp add -D typescript vitest
  • vp add -O fsevents
  • vp add --save-peer react
  • vp remove react
  • vp remove --filter web react

Update, Dedupe y Outdated

Usa estos comandos para mantener el grafo de dependencias a lo largo del tiempo.

  • vp update actualiza los paquetes a versiones más recientes.
  • vp outdated muestra qué paquetes tienen versiones más recientes disponibles.
  • vp dedupe pide al gestor de paquetes que colapse los duplicados donde sea posible.

Inspeccionar

Usa estos comandos cuando necesites entender el estado actual de las dependencias.

  • vp list muestra los paquetes instalados.
  • vp why react explica por qué react está instalado
  • vp info react muestra metadatos del registro como versiones y dist-tags

Reconstruir (Rebuild)

Usa vp rebuild cuando los módulos nativos necesiten ser recompilados, por ejemplo, después de cambiar la versión de Node.js o cuando un addon de C/C++ falla al cargar.

  • vp rebuild reconstruye todos los módulos nativos
  • vp rebuild <paquete...> reconstruye solo los paquetes listados
  • vp rebuild -- <args> pasa argumentos adicionales al gestor de paquetes subyacente
bash
vp rebuild
vp rebuild better-sqlite3 sharp
vp rebuild -- --update-binary

vp rebuild es un atajo para vp pm rebuild.

Con pnpm v10+, un vp rebuild sin argumentos solo reconstruye los paquetes cuyos scripts de construcción están listados en onlyBuiltDependencies (o aprobados mediante pnpm approve-builds); nombra el paquete explícitamente para forzar una reconstrucción que omita el paso de aprobación.

Avanzado

Usa estos comandos cuando necesites un comportamiento de nivel más bajo del gestor de paquetes.

  • vp link y vp unlink gestionan enlaces de desarrollo locales.
  • vp dlx create-vite ejecuta el binario de un paquete sin guardarlo como dependencia.
  • vp pm <comando> reenvía directamente al gestor de paquetes resuelto.

Ejemplos:

bash
vp pm config get registry
vp pm cache clean -- --force
vp pm audit --json

Publicación por etapas (Staged publishing)

vp pm stage expone el flujo de trabajo de publicación por etapas (staged publishing) de npm: se sube una compilación a un área de pruebas (sin 2FA, ideal para CI), luego un mantenedor la aprueba o rechaza desde un dispositivo de confianza (con 2FA). Se adapta al gestor de paquetes detectado.

bash
vp pm stage publish              # sube el paquete al área de pruebas (sin 2FA)
vp pm stage list                 # enumera las versiones en el área de pruebas
vp pm stage view <stage-id>      # inspecciona una versión en el área de pruebas
vp pm stage download <stage-id>  # descarga el tarball de la versión del área de pruebas
vp pm stage approve <stage-id>   # promueve al registro activo (con 2FA)
vp pm stage reject <stage-id>    # descarta una versión del área de pruebas (con 2FA)
  • pnpm (pnpm stage, requiere pnpm ≥ 11.3) y npm (npm stage, requiere npm ≥ 11.15 y Node ≥ 22.14) se reenvían directamente.
  • yarn (Berry) utiliza su plugin npm (yarn npm publish --staged, yarn npm stage …); view/download recurren a npm.
  • yarn Classic y bun no tienen soporte de publicación por etapas y recurren a npm stage.