Usar yarn 2 / 3 / 4 con Pier
Yarn berry (yarn 2, 3 y 4) reemplazó .npmrc por .yarnrc.yml en 2019. La configuración del registro se traslada allí, y hay una peculiaridad equivalente al always-auth=true de yarn 1:
npmAlwaysAuth: truees obligatorio. Sin él, yarn 4 solo envía el bearer ennpm publish— no ennpm install. La misma causa raíz que en yarn 1; archivo de configuración distinto.
Configurar
Sección titulada «Configurar».yarnrc.yml en la raíz del proyecto:
npmRegistryServer: "https://YOUR-PIER-HOST/registry/npm/"npmAuthToken: "pier_npm_…"npmAlwaysAuth: truenodeLinker: node-modulesnodeLinker: node-modules desactiva el plug’n’play por defecto de yarn berry y vuelve al familiar diseño de node_modules — recomendado salvo que tu cadena de herramientas soporte PnP explícitamente.
package.json necesita fijar packageManager para que corepack elija el binario correcto:
{ "name": "my-app", "version": "0.1.0",}Instalar / añadir
Sección titulada «Instalar / añadir»corepack enableyarn installyarn add left-padyarn add @your-org/internal-libCorepack lee packageManager de package.json y ejecuta esa versión exacta de yarn, descargándola en el primer uso.
Publicar
Sección titulada «Publicar»yarn npm publish --access public # público con scopeyarn npm publish # paquete privadoObserva el espacio de nombres npm: los subcomandos de la CLI de berry se sitúan bajo yarn npm <subcommand> (publish, login, whoami, info, tag) para distinguirlos de los comandos propios de yarn.
Iniciar sesión
Sección titulada «Iniciar sesión»yarn npm login --scope=@your-org# Solicita usuario + contraseña + email + OTPO bien omite el login interactivo y simplemente pon npmAuthToken directamente en .yarnrc.yml — funciona igual. El token proviene de Packages → Manage tokens en el panel de Pier.
Dist-tags
Sección titulada «Dist-tags»yarn npm tag list @your-org/libyarn npm tag remove @your-org/lib betaMatriz de versiones
Sección titulada «Matriz de versiones»| yarn berry | Estado | Notas |
|---|---|---|
| 2.4.3 | ✓ | Probado en la matriz de pier-tests |
| 3.8.7 | ✓ | Probado en la matriz de pier-tests |
| 4.5.1 | ✓ | Probado en la matriz de pier-tests |
Las tres versiones mayores de berry comparten la misma forma de .yarnrc.yml — fija la versión que quieras mediante packageManager en package.json, corepack hace el resto.
Errores comunes
Sección titulada «Errores comunes»YN0041: Invalid authentication (as an anonymous user)— faltanpmAlwaysAuth: true.YN0027: <pkg> can't be resolved to a satisfying range— el registro no es accesible (error tipográfico en la URL) o el proxy upstream está desactivado y el paquete no es privado.Corepack is about to download …— la primera ejecución con una versión fijada descarga el binario. Es seguro confirmar; o ejecuta de antemanoCOREPACK_ENABLE_AUTO_PIN=0 corepack prepare [email protected] --activate.
Enrutamiento de registro por scope (opcional)
Sección titulada «Enrutamiento de registro por scope (opcional)»Si quieres que un scope vaya a Pier y todo lo demás a npmjs.org sin activar el proxy upstream en Pier, asigna el registro al scope:
npmScopes: your-org: npmRegistryServer: "https://YOUR-PIER-HOST/registry/npm/" npmAuthToken: "pier_npm_…" npmAlwaysAuth: trueLa mayoría de los equipos simplemente activa el proxy y enruta todo a través de Pier — pero esto también funciona.
Relacionado
Sección titulada «Relacionado»- yarn 1.x — la versión con .npmrc.
- Configuración — el flujo base + emisión de token.
- Integración con CI — yarn berry en CI.