美文网首页
Node 升级后的坑

Node 升级后的坑

作者: alue | 来源:发表于2023-04-27 20:20 被阅读0次

    更换笔记本后,重新安装了开发环境,node 从16升级到了18,结果遇到了两个坑。

    第一个坑

    在运行 npm 指令 quasar dev 时,报出以下错误。

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

    这个提示还是比较全面,一下就定位到兼容性问题。利用搜索引擎查到了解决办法如下:

    在 windows 命令行先输入以下指令即可。

     $env:NODE_OPTIONS="--openssl-legacy-provider"
    

    指令的含义一眼也能猜出来,legacy 是计算机领域很常见的词汇,大概意思就是“旧版本”,也就是说,目前业界有更好的解决方案,但为了兼容性,还是保留了 legacy 版。

    第二个坑

    前后端分离项目中, 前端向后端发送请求,接口代理被屏蔽了,报出了下述错误。

    [HPM] Error occurred while trying to proxy request /api/ from localhost:8080 to http://localhost:8000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
    

    解决办法也很离奇,尝试将后端代理地址,由localhost修改为127.0.0.1之后,接口就通了,原因不是很明白。感觉像是node升级了之后,安全性措施有所变动导致。

    相关文章

      网友评论

          本文标题:Node 升级后的坑

          本文链接:https://www.haomeiwen.com/subject/hulijdtx.html