我有一个react-native 网络应用程序.在我做完expo 之后.我 Select W-Web.然后我得到了这个错误:

] 10%Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:68:19)

我使用的是node.js版本v20.10.0.

我的package.json文件看起来像:

  "scripts": {
    "start": "expo start, react-app-rewired start --openssl-legacy-provider ",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "lint": "eslint . --ext .js",
    "postinstall": "patch-package",
    "build": "SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts build",
    "start-webpack": "webpack-dev-server --mode production --open"
  },

问题:如何解决错误:错误:0308010C:数字信封 routine ::不支持

推荐答案

Node.js与openssl版本不兼容导致的错误.解决这个问题的一种方法是使用一个名为--openssl-legacy-provider的标志,它可以在package.json中设置.

"scripts": {
   "start": "expo start --openssl-legacy-provider",
   ...
}

如果遇到类似的错误;

Error: Cannot find module 'expo/config'

通过运行npm install expoyarn add expo确保已在项目中安装expo.

如果已经完成,仍然错误判断模块引用.你应该使用require('@expo/config') notrequire你可以在"AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\env"找到这个文件(就像这个 case 一样).

Javascript相关问答推荐

使用Angular 17计算从生日日期起的年、月、天

原型链中的同一财产怎么会有不同的价值?

TestCafe预计文本等于以下内容之一

在JS中获取名字和姓氏的首字母

将数据从strapi提取到next.js,但响应延迟API URL

有条件的悲剧

vscode扩展-webView Panel按钮不起任何作用

如何用显示网格平滑地将元素从一个地方移动到另一个地方?

React Code不在装载上渲染数据,但在渲染上工作

使搜索栏更改语言

D3 Scale在v6中工作,但在v7中不工作

虚拟滚动实现使向下滚动可滚动到末尾

material UI按钮组样式props 不反射

如何创建返回不带`new`关键字的实例的类

400 bad request error posting through node-fetch

JavaScript是否有多个`unfined`?

变量在导入到Vite中的另一个js文件时成为常量.

无法避免UV:flat的插值:非法使用保留字"

将基元传递给THEN处理程序

如何使本地html页面在重新加载时保持当前可隐藏部分的打开状态?