es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Instalé Yarn en un proyecto que utilizaba npm y ahora no puedo instalar una biblioteca.

Estoy trabajando en un proyecto de blockchain utilizando Hardhat y quería instalar la biblioteca de contratos de Chainlink. Después de instalar equivocadamente Yarn (soy nuevo en ambos), no puedo volver a usar NPM y la instalación con Yarn tampoco tiene éxito.

Intenté las sugerencias de Stack Overflow y la herramienta “deyarn” para intentar forzar el uso de NPM según https://www.freecodecamp.org/news/how-to-force-use-yarn-or-npm/.

Agregué un archivo .npmrc con:

// archivo .npmrc
engine-strict = true

y agregué la siguiente línea en package.json:

"engines": {
  "yarn": "YARN YA NO SE USA - use npm en su lugar.",
  "npm": ">= 3.0.0"
}

He copiado el mensaje de error original a continuación cuando uso NPM (que sería mi administrador de paquetes preferido):

npm ERR! code 1
npm ERR! path C:\Users\Alex\Documents\Programming\epic-game-v2\node_modules\@chainlink\contracts
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node -e "if(process.env.npm_execpath.indexOf('yarn') === -1) throw new Error('Please use yarn to install dependencies\n\n')"
npm ERR! [eval]:1
npm ERR! if(process.env.npm_execpath.indexOf('yarn') === -1) throw new Error('Please use yarn to install dependencies\n\n')
npm ERR!                                                     ^
npm ERR!
npm ERR! Error: Please use yarn to install dependencies
npm ERR!
npm ERR!
npm ERR!     at [eval]:1:59
npm ERR!     at Script.runInThisContext (node:vm:129:12)
npm ERR!     at Object.runInThisContext (node:vm:305:38)
npm ERR!     at node:internal/process/execution:81:19
npm ERR!     at [eval]-wrapper:6:22
npm ERR!     at evalScript (node:internal/process/execution:80:60)
npm ERR!     at node:internal/main/eval_string:27:3
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el mensaje de error es causado por el uso de NPM en lugar de Yarn para instalar las dependencias. Sin embargo, después de intentar cambiar de nuevo a NPM, la instalación de la biblioteca de contratos de chainlink sigue fallando. Para solucionar este problema, puedes seguir los siguientes pasos:

    1. Elimina Yarn y sus archivos de configuración de tu proyecto ejecutando el comando yarn remove yarn.
    2. Elimina el archivo yarn.lock y el archivo de configuración .yarnrc de tu directorio del proyecto.

    3. Ejecuta el comando npm cache clean --force para limpiar la memoria caché de NPM.

    4. Actualiza NPM a la última versión ejecutando el comando npm install -g npm.

    5. Agrega el archivo .npmrc con el siguiente contenido para evitar el uso accidental de Yarn y forzar el uso de NPM:

    engine-strict = true
    package-lock = true
    save-exact = true
    
    1. Actualiza el archivo package.json para incluir las siguientes líneas:
    "engines": {
        "npm": ">=3.0.0",
        "yarn": "false"
    }
    
    1. Ejecuta el comando npm install @chainlink/contracts para instalar la biblioteca de contratos de chainlink.

    Después de seguir estos pasos, deberías poder instalar correctamente la biblioteca de contratos de chainlink utilizando NPM.

Comments are closed.