Usar yarn 1.x con Pier
Yarn classic — yarn 1.22 — lee su configuración de registro desde .npmrc igual que npm. Hay una peculiaridad crítica:
always-auth=truees obligatorio para yarn 1. Sin él, yarn 1 omite el token bearer en las solicitudesGET, y cada instalación falla con401 Unauthorized. npm/pnpm/bun envían el bearer por defecto, así que esto es específico de yarn 1.
Configurar
Sección titulada «Configurar»registry=https://YOUR-PIER-HOST/registry/npm///YOUR-PIER-HOST/registry/npm/:_authToken=pier_npm_…always-auth=trueYarn 1 también lee .yarnrc para algunos flags, pero el registro y la autenticación provienen de .npmrc.
Instalar
Sección titulada «Instalar»yarn installyarn add left-padyarn add @your-org/internal-libPublicar
Sección titulada «Publicar»yarn publishYarn 1 solicita el incremento de versión de forma interactiva. Pasa --new-version 1.2.0 para omitir el prompt en CI.
Iniciar sesión
Sección titulada «Iniciar sesión»Yarn 1 no tiene su propio flujo de login — usa npm login contra Pier y el token aterriza en .npmrc (que yarn 1 lee).
npm login --auth-type=web --registry=https://YOUR-PIER-HOST/registry/npm/Por qué importa always-auth=true
Sección titulada «Por qué importa always-auth=true»Yarn 1 tiene un comportamiento codificado de auth.optional = true para las solicitudes GET (que incluyen la obtención de packuments y la descarga de tarballs). Cuando se establece always-auth=true, yarn 1 promueve la autenticación a obligatoria en cada solicitud, incluidos los GET.
Pier exige autenticación en cada ruta autenticada (incluidas las lecturas de paquetes privados). Sin always-auth=true, yarn 1 no envía ningún bearer → Pier devuelve 401 → yarn falla.
Este ajuste es inofensivo para cualquier otro cliente, así que es seguro mantenerlo activado en todo momento.
Advertencia sobre la versión de Node
Sección titulada «Advertencia sobre la versión de Node»Yarn 1.22.22 tiene una peculiaridad en el handshake TLS en Node 20 que produce un confuso stack trace de Request.emit al conectar con un upstream HTTPS. Usa Node 22+ (LTS 24 ideal) si trabajas con yarn 1.
nvm install 24nvm use 24yarn --version # → 1.22.22yarn install # worksMatriz de versiones
Sección titulada «Matriz de versiones»| Versión de yarn | Estado | Notas |
|---|---|---|
| 1.22.x | ✓ | always-auth=true obligatorio; usa Node 22+ |
| 2.x / 3.x / 4.x | ✓ | Configuración distinta — consulta la guía de yarn berry |
Errores comunes
Sección titulada «Errores comunes»Request "https://…/registry/npm/foo" finished with status code 401— faltaalways-auth=true.- stack trace de
Request.emit (events.js:223:5)— bug TLS de Node 20 en yarn 1.22. Actualiza Node a 22+ o 24 LTS. error An unexpected error occurred: "404 Not Found"— el proxy upstream está desactivado y el paquete no se ha publicado de forma privada. Activa el proxy o publica de forma privada.
Relacionado
Sección titulada «Relacionado»- yarn berry (2/3/4) — archivo de configuración distinto.
- Configuración — guía de configuración base.
- Solución de problemas — más escenarios de 401.