我正在使用 Tailwind 构建一个简单的 React 应用程序。我使用 create-react-app
然后安装了 tailwind。我以前做过很多次。
为了安装 Tailwind,我还必须安装 craco
并更改 package.json “脚本”以使用 craco
,如下所示:
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
}
然而,这一次,当我运行 npm start
时,我得到了一个我以前从未遇到过的错误:
Error: error:0308010C:digital envelope routines::unsupported
所以我在 StackOverflow 上搜索,有人建议将 --openssl-legacy-provider
添加到我的“开始”脚本中,如下所示:
"scripts": {
"start": "craco --openssl-legacy-provider start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
}
它现在正在工作。但是有人可以向我解释一下 --openssl-legacy-provider
到底是什么以及它是如何工作的吗?
原文由 Meet Shah 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于 Node.js v17 的更改,添加了
--openssl-legacy-provider
以处理 OpenSSL v3 上的密钥大小。您以某种方式安装了最新版本的节点。npm install
重新安装 node_modules。