Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

313
Views
Node.js 17.0.1 Error de Gatsby: "rutinas de sobres digitales:: no admitidas... ERR_OSSL_EVP_UNSUPPORTED"

Estoy construyendo un sitio de Gatsby . Actualicé Node.js a v17.0.1 , y cuando ejecuto una compilación, hay un error:

 Error: digital envelope routines::unsupported opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED'

Si lo cambio a v16, funciona bien y la compilación será exitosa. ¿Cómo puedo arreglar esto?

Al buscar en Google, este puede ser un problema similar: Error: error: 06065064: rutinas de sobres digitales: EVP_DecryptFinal_ex: mal descifrado # 48

over 4 years ago · Santiago Trujillo
13 answers
Answer question

0

Me he enfrentado a este problema similar en la versión 17.3.0

  1. Desinstalé Node.js e instalé la versión 16.13.0 y reinicié
  2. al ejecutar en la nueva terminal, se arregló
over 4 years ago · Santiago Trujillo Report

0

Úselo como comando de compilación para Vue 3 y node v17.0.1:

 cross-env NODE_OPTIONS='--openssl-legacy-provider' vue-cli-service build"
over 4 years ago · Santiago Trujillo Report

0

Si bien parchear con --openssl-legacy-provider es más un truco y una solución real sería corregir el uso del tamaño de clave OpenSSL en Vue/React/...; una solución temporal puede estar usando una versión anterior de Node. Pero sugeriría no degradar Node; en su lugar, instale NVM ( main /win: nvm-windows / nodist / nvs , siendo el último multiplataforma) y cambie entre versiones a pedido.

over 4 years ago · Santiago Trujillo Report

0

He desinstalado mi Node.js versión 17.0.1 a través del panel de control.

Luego descargué la versión 16.13.1 de Node.js de nodejs.org y la instalé, y luego React Native se inicia y compila correctamente.

over 4 years ago · Santiago Trujillo Report

0

Este problema viene con la nueva actualización de Node.js 17. En React , puede cambiar el atributo del script en el archivo package.json a:

 "scripts": { "start": "react-scripts --openssl-legacy-provider start", "build": "react-scripts --openssl-legacy-provider build", "test": "react-scripts test", "eject": "react-scripts eject" }
over 4 years ago · Santiago Trujillo Report

0

Solución rápida: ejecute esto en una terminal dentro de su proyecto React.

 export NODE_OPTIONS=--openssl-legacy-provider
over 4 years ago · Santiago Trujillo Report

0

También tuve el mismo problema, así que degradé la versión de Node.js:

  • Desinstalar Node.js

  • Luego descargue e instale 16.13.0.

over 4 years ago · Santiago Trujillo Report

0

Esto podría ayudar. Agregue estos scripts en el archivo package.json .

Reaccionar:

 "scripts": { "start": "export SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", "build": "export SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts build" }

o

 "scripts": { "start": "react-scripts --openssl-legacy-provider start", "build": "react-scripts --openssl-legacy-provider build", }

Vue.js:

 "scripts": { "serve": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "build": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build", "lint": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service lint" },

o

 "scripts": { "serve": "vue-cli-service --openssl-legacy-provider serve", "build": "vue-cli-service --openssl-legacy-provider build", "lint": "vue-cli-service --openssl-legacy-provider lint" },
over 4 years ago · Santiago Trujillo Report

0

Gatsby debe estar usando un algoritmo o tamaño de clave que ya no está permitido de forma predeterminada con OpenSSL 3.0.

ACTUALIZACIÓN ⚠️

Lo más probable es que se trate de un problema del paquete web: https://github.com/webpack/webpack/issues/14532

Desde entonces, lanzaron una solución en la versión 5.61.0 : https://github.com/webpack/webpack/releases/tag/v5.61.0 , por lo que la actualización del paquete web también debería solucionar el problema.

Un miembro del equipo del paquete web ha declarado que no planean realizar una copia de la solución al paquete web 4, por lo que si está en el paquete web 4, es posible que primero deba buscar actualizar al paquete web 5.


De la publicación del anuncio de Node.js 17 :

Si encuentra un error ERR_OSSL_EVP_UNSUPPORTED en su aplicación con Node.js 17, es probable que su aplicación o un módulo que esté usando esté intentando usar un algoritmo o tamaño de clave que ya no está permitido de forma predeterminada con OpenSSL 3.0. Se agregó una nueva opción de línea de comandos , --openssl-legacy-provider , para volver al proveedor heredado como una solución temporal para estas restricciones estrictas.

Ejecutar esto en la terminal podría verse así:

 node --openssl-legacy-provider ./node_modules/.bin/gatsby build

También puede pasar esto a través de la variable de entorno NODE_OPTIONS .

Entonces, si desea continuar usando el script de NPM, puede cambiar el script de build a:

 // package.json { "scripts": { "build": "export NODE_OPTIONS=--openssl-legacy-provider; gatsby build" } }
over 4 years ago · Santiago Trujillo Report

0

El enfoque de Rajiv parece correcto como solución alternativa, pero la sintaxis no funcionó para mí en Vue.js. Lo que funcionó fue sin la palabra clave "SET":

 "scripts": { "serve": "NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "build": "NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build", "test:unit": "NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service test:unit", "lint": "NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service lint" },
over 4 years ago · Santiago Trujillo Report

0

Estaba enfrentando el mismo problema con una aplicación Angular en el servidor:

  1. Acabo de degradar la versión de Node.js localmente a 14
  2. La imagen de Docker se reemplazó con la versión 14.18.1 . Antes era Alpine Linux

Puede encontrar más detalles en la documentación de la versión más reciente de Node.js.

over 4 years ago · Santiago Trujillo Report

0

Creo que hay dos soluciones para este error que encontramos después de la nueva actualización de Node.js.

  1. Rebajar Node.js

  2. node_modules\react-scripts\config\webpack.config.js : debe agregar este código dentro del archivo .js que encontrará aquí:

     const crypto = require("crypto"); const crypto_orig_createHash = crypto.createHash; crypto.createHash = algorithm => crypto_orig_createHash(algorithm == "md4" ? "sha256" : algorithm);

over 4 years ago · Santiago Trujillo Report

0

creo que deberías degradar tu nodo o usar nvm para cambiar entre versiones de nodo, hice esto y la reacción funcionó bien

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!