如何解决"Error: error:0308010C:digital envelope routines::unsupported" Nodejs 18 error
我的nuxtjs应用程序需要帮助。最近,在我离开它一段时间(2个月)没有更新后,应用程序中出现了eslint冲突。因此,在我开始开发该应用程序后,试图解决eslint的问题是一个挑战,所以我不得不将项目迁移到一个较新的节点和eslint的版本。之后,我解决了冲突问题,我的项目可以安装我的依赖,但现在服务器无法启动,Node现在抛出一个错误,我甚至不知道如何开始修复,我不知道是否有许多其他人在升级他们的nodejs版本后面临这个问题,但它抛出一个关于不支持哈希函数的错误。
这是一个终端错误的截图,它阻止了我的服务器启动,我已经解决了所有的eslint和语法错误,这些错误都是随着迁移而来的,所以我不知道还能做什么,我真的需要帮助。
下面是我的nuxt.config.js文件的一个片断
export default {
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
title: 'heritage-fd',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' },
{ name: 'format-detection', content: 'telephone=no' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
],
script: [
{
src: '~/static/css/bootstrap.min.js',
},
],
},
// Global CSS: https://go.nuxtjs.dev/config-css
css: [
{src: '~/static/css/bootstrap.min.css', lang: 'scss'},
{src: '~/assets/scss/custom.scss', lang: 'scss'},
{src: "~layouts/global.css"},
{src: '~/static/css/style.css', lang: 'scss'},
{src: '~/assets/css/main.css'}
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [
"~/plugins/vee-validate.js",
{ src: '~/plugins/persistedState.client.js', ssr: false }
],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [
// https://go.nuxtjs.dev/eslint
'@nuxtjs/eslint-module',
'nuxt-gsap-module',
'@nuxtjs/fontawesome',
],
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
'@nuxtjs/auth-next',
'nuxt-vue-select'
],
// Axios module configuration: https://go.nuxtjs.dev/config-axios
axios: {
// Workaround to avoid enforcing hard-coded localhost:3000: https://github.com/nuxt-community/axios-module/issues/308
baseURL: 'http://localhost:8000/api/',
},
// PWA module configuration: https://go.nuxtjs.dev/pwa
pwa: {
manifest: {
lang: 'en',
},
},
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
transpile: ["vee-validate/dist/rules"],
vendor: ["vue-tables-2"]
},
}
node_modules
,用yarn/pnpm重新安装,检查一些错误?另外,你有package.json
之前和之后的文件吗?介意分享一下nuxt.config.js
的文件吗?
- kissu 2022-11-23
关于这个错误,在做了很多研究之后,我终于发现,整个错误是随着nodejs升级到v18.12.1版本而产生的,所以我建议所有面临同样问题的人,如果最近刚刚升级了io node v18.12.1,可以降级到node v16.0.0,如果你需要帮助,你可以使用nvm
。
下面概述了一些步骤,并提供了一些资源的链接
- 下载并安装nvm 按照这里的说明进行安装。
安装Nodejs v16.0.0
nvm install 16.0.0
。卸载nodejs v18.12.1
nvm uninstall 18.12.1
或你自己的node的版本
我希望这能帮助别人,就像它对我一样,我知道框架错误所带来的痛苦。如果你需要进一步的帮助,请发表意见。谢谢。
npm audit fix --force
,它升级了我的react-scripts": "^5.0.1";。之后,SSL问题解决了,现在可以在Node > 17下工作了。
- Marcelo Scofano Diniz 2023-01-22
检查了这里的解决方案,我决定在项目中把node@16.0.0 作为一个开发依赖项来安装。
npm install node@16.0.0 --save-dev
然后在脚本中加入"dev": "npm run serve"的命令。
"scripts": {
"dev": "npm run serve",
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
这将使你在运行"npm run dev"的命令时
npm run dev
它将使用你的项目的依赖节点来运行脚本。
你可以选择Romanric AKAM给出的答案,但如果你有多个项目需要不同的节点版本(在我的例子中,我有两个项目需要依赖不同的版本),那么你可以选择Romanric AKAM给出的答案。
因此,在这种情况下,请进入你面临这个问题的项目目录,并运行nvm install 16.0.0
。
注:请先插入nvm。
我注意到有一个较新的版本。Node-18.13.0。所以我试着更新到这个最新版本,而不是回滚到以前的版本,但没有成功。
然后,我在这里查看了其他版本。
安装Node-v15.6.0版本修复了我的这一问题。因此,现在回滚Node,可能是我们最好的选择。