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
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:
yarn remove yarn
.Elimina el archivo
yarn.lock
y el archivo de configuración.yarnrc
de tu directorio del proyecto.Ejecuta el comando
npm cache clean --force
para limpiar la memoria caché de NPM.Actualiza NPM a la última versión ejecutando el comando
npm install -g npm
.Agrega el archivo
.npmrc
con el siguiente contenido para evitar el uso accidental de Yarn y forzar el uso de NPM:package.json
para incluir las siguientes líneas: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.