Usar pnpm con Pier
pnpm lee su configuración de registro desde .npmrc — el mismo archivo que usa npm. La semántica de autenticación coincide con la de npm (bearer en cada solicitud), así que, a diferencia de yarn 1, no necesitas always-auth=true para que pnpm funcione.
Configurar
Sección titulada «Configurar»registry=https://YOUR-PIER-HOST/registry/npm///YOUR-PIER-HOST/registry/npm/:_authToken=pier_npm_…always-auth=truealways-auth=true es opcional para pnpm — es inofensivo y recomendable si también usas yarn 1 en el mismo proyecto.
Instalar / añadir
Sección titulada «Instalar / añadir»pnpm installpnpm add left-padpnpm add @your-org/internal-libpnpm add -D typescript # devDependencyPublicar
Sección titulada «Publicar»pnpm publishpnpm publish --tag betapnpm publish --no-git-checks # omite la comprobación de árbol limpio en CIWorkspaces
Sección titulada «Workspaces»Para un workspace de pnpm, coloca .npmrc en la raíz del workspace — cada paquete lo hereda. No hace falta duplicarlo por paquete.
my-monorepo/├── .npmrc ← aquí├── package.json├── pnpm-workspace.yaml└── packages/ ├── app/package.json └── lib/package.jsonSi un paquete concreto necesita un registro distinto, coloca un .npmrc junto a su package.json — pnpm usa el más cercano subiendo por el árbol.
La granja de symlinks .pnpm
Sección titulada «La granja de symlinks .pnpm»Cuando listas node_modules/ después de una instalación de pnpm, verás node_modules/.pnpm/ que contiene el almacén real direccionado por contenido. Las dependencias de nivel superior son symlinks hacia él. Esto es intencionado y no afecta a Pier — los paquetes se siguen solicitando a través de la misma API HTTP.
Matriz de versiones
Sección titulada «Matriz de versiones»| Versión de pnpm | Estado | Notas |
|---|---|---|
| 9 | ✓ | Funciona sin configuración adicional |
| 10 | ✓ | Funciona sin configuración adicional |
Fija la versión mediante packageManager en package.json para que corepack use la correcta:
{}Errores comunes
Sección titulada «Errores comunes»ERR_PNPM_FETCH_401— token revocado o ausente. Emite uno nuevo en Packages → Manage tokens.ERR_PNPM_FETCH_404— proxy upstream desactivado + paquete no publicado de forma privada. Actívalo en Packages → Upstream proxy.ERR_PNPM_INTEGRITY_CHECK_FAILED— el tarball almacenado en Pier quedó desincronizado respecto a su sha512. Es raro; normalmente se debe a ediciones manuales del FS. Solución:rm /opt/pier/data/registry/<pkg>/<file>.tgzy reinstala (Pier lo volverá a obtener con la integridad correcta).
Relacionado
Sección titulada «Relacionado»- Configuración — guía base.
- Integración con CI — fragmentos de pnpm en CI.
- Solución de problemas — más escenarios de error.