搜索

首页  >  问答  >  正文

解决 Nodejs 18 中的 "Error: error:0308010C:digital envelope routines::unsupported" 错误的方法

我的 NuxtJS 应用程序需要帮助。

最近,在我离开应用程序一段时间(2 个月)而没有更新后,应用程序中出现了 ESLint 冲突。因此,在我开始研究它之后,尝试解决 ESLint 问题提出了挑战。然后我必须将项目迁移到较新版本的 Node 和 ESLint。

这样做之后,我解决了冲突问题,我的项目可以安装我的依赖项,但现在服务器无法启动。节点现在抛出一个错误,我什至不知道如何修复。我不知道许多其他人在升级 Node.js 版本后是否面临这个问题,但它抛出了有关不支持的哈希函数的错误。

这是阻止我的服务器启动的终端错误的屏幕截图:

我已经解决了迁移带来的所有 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"]
  },
}


P粉121081658P粉121081658405 天前939

全部回复(2)我来回复

  • P粉044526217

    P粉0445262172023-10-19 13:52:34

    就我而言,当我运行 npm run build 时,这发生在我的 Github Actions 构建管道中。

    我能够通过提供以下环境参数来修复它:

    export NODE_OPTIONS=--openssl-legacy-provider

    根据我所读到的内容,这个节点选项也可以在 package.json 中设置。

    这似乎比将 Nodejs 降级到 v16 容易一些。

    回复
    0
  • P粉090087228

    P粉0900872282023-10-19 11:03:04

    关于这个错误,经过大量研究后,我终于发现整个错误是在nodejs升级到v18.12.1版本时出现的,所以我建议所有遇到同样问题的最近刚刚升级tio node v18.12.1的人降级回到节点 v16.0.0,如果您需要这方面的帮助,您可以使用 nvm

    下面概述了一些步骤,以及一些资源链接

    `

    1. 下载并安装 nvm 按照此处的说明进行操作
    1. 安装 Nodejs v16.0.0 nvm安装16.0.0

    2. 卸载nodejs v18.12.1 nvm uninstall 18.12.1 或您自己的节点版本

    我确实这对某人有帮助,就像对我一样,我知道框架错误带来的痛苦。如果您需要进一步帮助,请发表评论。 谢谢。

    回复
    0
  • 取消回复