Administrador de paquetes Node.js (Corepack)

 

Tabla de contenido

1. Introducción

2. Habilitar Corepack

3. Utilice el paquete principal de Node.js

4. Paquete de configuración

5. Actualice la versión global

6. Flujo de trabajo fuera de línea

7. Administradores de paquetes compatibles

8. Node.js Corepack intercepta npm

9. Comandos comunes de Corepack


1. Introducción

Corepack es una herramienta experimental que ayuda a administrar las versiones del administrador de paquetes. Expone proxies binarios para cada administrador de paquetes compatible que, cuando se invoca, reconocerá el administrador de paquetes configurado para el proyecto actual, puede instalarse explícitamente si se desea y, finalmente, ejecutarse sin interacción explícita del usuario.

Esta característica simplifica dos flujos de trabajo principales:

  • Simplifica la barrera de entrada para los nuevos colaboradores, ya que ya no necesitan seguir un proceso de instalación específico del sistema, solo necesitan tener el administrador de paquetes que desee.
  • Le permite asegurarse de que todos en su equipo usarán la versión del administrador de paquetes que desea que usen sin que tengan que sincronizar manualmente cada vez que necesite realizar una actualización.

2. Habilitar Corepack

Dado que aún es experimental, no está habilitado de forma predeterminada y requiere que lo habilitemos explícitamente para usarlo. Establecerá el enlace simbólico en el entorno junto al archivo binario (y sobrescribirá el enlace simbólico existente si es necesario). Para habilitarlo, ejecute el siguiente comando:

corepack enable

A partir de ahora, todas las llamadas a binarios admitidos funcionarán sin necesidad de configuración adicional. También puede desactivarlo si tiene problemas ejecutando el siguiente comando:

corepack disable

3. Utilice el paquete principal de Node.js

He instalado dos versiones de Node localmente y compruebo si la versión correspondiente tiene Corepack.

Para la instalación de varias versiones de Node, también puede consultar:

http://t.csdn.cn/8Ci3j icono-predeterminado.png?t=N5K3http://t.csdn.cn/8Ci3j

Verifique el directorio de la próxima versión (V14.4.0) y no encuentre ningún corepack, como se muestra a continuación:

Verifique el directorio de la próxima versión (V16.16.0) y no encuentre corepack, luego habilite corepack manualmente y ejecute el comando:

habilitar corepack

El directorio se muestra en la siguiente figura:

 Podemos ver que hay. Cuando se ejecuta el comando corepack enable, encontramos que hay más archivos relacionados con pnpm y yarn a continuación.

También puede ver los siguientes corepacks y sus versiones correspondientes a través de la línea de comandos:

C:\Users\Administrator>corepack -v
0.17.0

4. Paquete de configuración

El proxy Corepack encontrará el archivo package.json más cercano en su directorio. La jerarquía de directorios actual para extraer su propiedad "packageManager".

Si el valor corresponde a un administrador de paquetes compatible
, Corepack se asegurará de que todas las llamadas a los binarios en cuestión sean para la versión solicitada, descargándolos a pedido si es necesario, o abortando si no se puede recuperar con éxito.

Por ejemplo, la siguiente configuración:

{
  "name": "test_yilai",
  "version": "1.0.0",
  "packageManager": "[email protected]",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "element-plus": "^2.3.7",
    "element-ui": "^2.15.13",
    "lodash": "^4.17.21"
  }
}

Después de la configuración, intente instalar las siguientes dependencias:

yarn install 
Usage Error: This project is configured to use pnpm

Si el administrador de paquetes se cambia a hilo

{
  "name": "test_yilai",
  "version": "1.0.0",
  "packageManager": "[email protected]",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "element-plus": "^2.3.7",
    "element-ui": "^2.15.13",
    "lodash": "^4.17.21"
  }
}

Mire los resultados de la ejecución de pnpm: 

pnpm instal

Usage Error: This project is configured to use yarn

Para resolver este problema, podemos usar el artefacto de instalación de paquetes (ni) para resolver este problema. Ejecute el siguiente comando para instalar:

npm i -g @antfu/ni

Después de completar, ingrese ni directamente en la línea de comando y presione Entrar para instalar el paquete, como se muestra en la siguiente figura:

Podemos encontrar el perfecto para la instalación. . . . . .

5. Actualice la versión global

Cuando se ejecuta fuera de un proyecto existente (por ejemplo, mientras se ejecuta yarn init ), Corepack usará de forma predeterminada versiones predefinidas correspondientes a las últimas versiones estables de cada herramienta. Estas versiones se pueden configurar junto con la versión del administrador de paquetes que desea configurar ejecutando el comando de preparación de corepack: 

corepack prepare [email protected] --activate

Alternativamente, se pueden usar etiquetas o rangos:

corepack prepare pnpm@latest --activate
corepack prepare yarn@stable --activate

6. Flujo de trabajo fuera de línea

Muchos entornos de producción no tienen acceso a la red. Dado que Corepack generalmente descarga las distribuciones del administrador de paquetes directamente desde sus registros, puede entrar en conflicto con dichos entornos. Para evitar que esto suceda, llame al comando corepack prepare mientras aún tenga acceso a la red (generalmente mientras prepara la imagen para la implementación). Esto garantizará que los administradores de paquetes necesarios estén disponibles incluso sin acceso a la red.

7. Administradores de paquetes compatibles

Los siguientes binarios se proporcionan a través de Corepack:

Gerente de empaquetación

nombres binarios

hilo

yarnyarnpkg

pnpm

pnpmpnpx

8. Node.js Corepack intercepta npm

Si bien Corepack puede admitir npm como cualquier otro administrador de paquetes, no está habilitado de forma predeterminada.

Aunque npmes una "packageManager"opción válida en la propiedad, no tiene efecto.

Por supuesto, si desea interceptarlo, también es posible, debe resolverlo a través de corepack enable npm .

9. Comandos comunes de Corepack

corepack enable Encienda la función corepack

corepack deshabilitar eliminar la función corepack

corepack hydrate importa el administrador de paquetes en el caché

preparar corepack Generar un archivo de administrador de paquetes

 

Supongo que te gusta

Origin blog.csdn.net/u014388408/article/details/131484361
Recomendado
Clasificación