Eve*_*een 2129 node.js reactjs webpack
我创建了默认的 IntelliJ IDEA React 项目并得到了这个:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:471:10)
at /Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:503:5
at /Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:358:12
at /Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/Users/user/Programming Documents/WebServer/untitled/node_modules/react-scripts/scripts/start.js:19
throw err;
^
Run Code Online (Sandbox Code Playgroud)
这似乎是最近的一个问题 - webpack 4 天前就遇到了这个问题,并且仍在处理中。
小智 2599
您可以尝试以下其中一项:
\n1. 降级到 Node.js v16。
\n您可以从 Node.js\xe2\x80\x99网站重新安装当前的 LTS 版本。
\n您也可以使用nvm. 对于 Windows,请使用nvm-windows.
2. 启用旧版 OpenSSL 提供程序。
\n在类 Unix 上(Linux、macOS、Git bash 等):
\nexport NODE_OPTIONS=--openssl-legacy-provider\nRun Code Online (Sandbox Code Playgroud)\n在 Windows 命令提示符下:
\nset NODE_OPTIONS=--openssl-legacy-provider\nRun Code Online (Sandbox Code Playgroud)\n在 PowerShell 上:
\n$env:NODE_OPTIONS = "--openssl-legacy-provider"\nRun Code Online (Sandbox Code Playgroud)\n\n
Dav*_*vid 1301
这个问题有 30 多个答案,大多数建议将 Node.js 降级到 v17 之前的版本或使用旧版 SSL 提供程序。这两种解决方案都是黑客行为,会让您的构建面临安全威胁。
在 Node.js v17 中,Node.js 开发人员修复了 SSL 提供程序中的安全漏洞。此修复是一项重大更改,与 NPM 中 SSL 包中的类似重大更改相对应。当您尝试在 Node.js v17 或更高版本中使用 SSL 而不升级您的 中的这些 SSL 包package.json时,您将看到此错误。
使用最新版本的 Node.js,并使用带有安全修复程序的最新包。
对于许多人来说,以下命令可以解决该问题:
npm audit fix --force
Run Code Online (Sandbox Code Playgroud)
但是,请注意,对于复杂的构建,上述命令将引入可能破坏您的构建的破坏性安全修复。
Yarn 用户可以使用yarn-audit-fix,它可以运行而无需安装为依赖项
npm_config_yes=true npx yarn-audit-fix
Run Code Online (Sandbox Code Playgroud)
或 Windows powershell:
$env:npm_config_yes = 1; npx yarn-audit-fix
Run Code Online (Sandbox Code Playgroud)
在您的 Webpack 配置中,设置以下任一内容:(请参阅ouput.hashFunction 文档)
A.(Webpack v5)设置output.hashFunction = 'xxhash64'。
B.(Webpack v4)这将取决于您的系统上nodejs支持的哈希算法。您可以尝试的一些常见选项是output.hashFunction = 'sha512'或output.hashFunction = 'sha256'。
请参阅格雷格的回答中的更多信息。
小智 1108
在您的 package.json 中:更改此行
"start": "react-scripts start"
Run Code Online (Sandbox Code Playgroud)
到
"start": "react-scripts --openssl-legacy-provider start"
Run Code Online (Sandbox Code Playgroud)
Ash*_*iya 261
如果我们使用 Node.js 当前的 LTS 版本,则不会出现此错误。将 Node.js 版本降级到当前的 LTS 版本 (16.13.0)。
有多种方法可以安装所需的版本。其中之一是使用 nvm(Node.js 版本管理器)。
步骤1:安装nvm(如果未安装,请按照使用节点版本管理器(nvm)本地安装Node.js)
第 2 步:(nvm install 16.13.0或 lts)
neo*_*ern 144
这是最简单的答案并且有效。
如果您正在使用,react-scripts现在可以简单地升级到版本 5.0.0 (或更高版本),这似乎已经解决了这个问题(它包括较新版本的 webpack)。
例子:
npm i react-scripts@latest
Rob*_*ink 92
我在使用Vue.js时遇到了这个问题。
使用的一个缺点-openssl-legacy-provider是旧版 Node.js 不支持它。当提供此标志时,旧的 Node.js 版本根本不会运行。
但我仍然希望与 Node.js v16 及更早版本兼容。
Vue.js 使用MD4算法来生成哈希值(好吧,实际上它的底层是Webpack )。出于此类目的, MD4 可以轻松地被MD5替换。所使用的算法类型在大多数地方都是硬编码的,因此没有任何方法可以配置其他算法。
所以我想出了另一种解决方法。createHash()拦截来自crypto模块的原始调用并将其替换为修改版本的函数。这是我的vue.config.js文件的开头:
const crypto = require('crypto');
/**
* The MD4 algorithm is not available anymore in Node.js 17+ (because of library SSL 3).
* In that case, silently replace MD4 by the MD5 algorithm.
*/
try {
crypto.createHash('md4');
} catch (e) {
console.warn('Crypto "MD4" is not supported anymore by this Node.js version');
const origCreateHash = crypto.createHash;
crypto.createHash = (alg, opts) => {
return origCreateHash(alg === 'md4' ? 'md5' : alg, opts);
};
}
Run Code Online (Sandbox Code Playgroud)
Jay*_*Pow 86
2023 年 4 月更新:
该答案首次发布于 2021 年 12 月,已经过去一年多了,因此该答案可能不再那么可靠或相关。有关此问题背后的更多原因和最新解决方案,请参阅其他答案。
一些热门答案不起作用。
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
一些最佳答案不适用,修改package.json文件:
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
这是由 的最新node.js V17兼容问题引起的OpenSSL,请参阅GitHub 上的此问题和此问题。
最简单的事情就是从 降级node.js V17到node.js V16。有关如何降级的信息,请参阅这篇文章node.js。
Gre*_*reg 86
发布了很多解决方法(主要是降级 Node.js、OpenSSL 或允许不安全的哈希),但根本问题是 Webpack 的output.hashFunction默认值md4,这会在最新版本的 OpenSSL 中触发此错误。
来自Webpack的output.hashFunction文档:
从 Webpack v5.54.0+ 开始,
hashFunction支持xxhash64更快的算法,experiments.futureDefaults启用时将默认使用该算法。
解决方案是:
output.hashFunction = 'xxhash64'experiments.futureDefaults = true在你的 Webpack 配置中。
如果您使用的是较旧版本的 Webpack(v5.54.0 之前),请点击上面的 output.hashFunction 链接,查看您可以使用哪些其他哈希算法。
Man*_*mar 81
适用于 macOS、Windows 和 Linux
更新到Node.js版本 18.17.1 后,我在本地主机上运行时遇到了这个问题,我可以通过更新package.json文件中的启动命令来解决它。
请在下面找到适当的命令。
"start": "export NODE_OPTIONS=--openssl-legacy-provider && react-scripts start"
Run Code Online (Sandbox Code Playgroud)
您也可以使用npm audit fix --force. 这也可以解决这个问题,但不知何故它对我不起作用。
小智 79
我在 GitHub 上找到了以下命令:
对于 Windows,请在 cmd 中使用以下命令:
set NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
对于 Unix,请使用:
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
dav*_*ouk 62
这是 Node.js 版本。
我在 Node.js 17 上遇到此错误,但是当我使用nvm.
小智 45
对于Vue.js相关
启用旧版 OpenSSL 提供程序。
在类 Unix 系统(Linux、macOS、Git Bash等)上:
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
在 Windows 命令提示符下:
set NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
在 PowerShell 上:
$env:NODE_OPTIONS = "--openssl-legacy-provider"
Run Code Online (Sandbox Code Playgroud)
重新配置此脚本npm run serve如下;
"scripts": {
"serve": "vue-cli-service serve --openssl-legacy-provider",
},
Run Code Online (Sandbox Code Playgroud)
小智 39
无法构造变压器:错误:错误:0308010C:数字信封例程::不支持
解决上述错误的最简单、最容易的解决方案是将 Node.js 降级到 v14.18.1。然后只需删除文件夹node_modules并尝试重建您的项目,您的错误就必须得到解决。
Vik*_*rMS 39
临时解决办法如下。实际的解决方案是升级到 Webpack 5。
这对我有用(降级到 Node.js 16):
nvm install 16 --lts
nvm use 16
Run Code Online (Sandbox Code Playgroud)
小智 37
我有同样的错误。
我的情况:
我安装了一个新的React TypeScript 应用程序,添加了一些SCSS内容和一些组件。
在本地,我的构建工作正常,但是当我尝试发布时,它失败并出现错误:
错误:错误:0308010C:数字信封例程::不支持
我通过将 React 脚本库更新到 5.0.1 解决了这个问题:
"react-scripts": "^5.0.1",
Run Code Online (Sandbox Code Playgroud)
Bad*_*laj 34
要绕过错误(在开发环境中),您只需运行
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
在启动Node.js应用程序之前。
小智 26
对于 Angular 应用程序:
您还可以编辑npm startpackage.json 中的脚本。代替
"start": "ng serve -o"
Run Code Online (Sandbox Code Playgroud)
到
"start": "set NODE_OPTIONS=--openssl-legacy-provider && ng serve -o"
Run Code Online (Sandbox Code Playgroud)
npm run start当您在终端/命令行中运行时,它会首先设置NODE_OPTIONS以避免出现问题。
ahm*_*ira 26
安装nvm-windows。
安装所需的 Node.js 版本。
nvm install 16
Run Code Online (Sandbox Code Playgroud)
更改您的 Node.js 版本
nvm use 16
Run Code Online (Sandbox Code Playgroud)
检查安装的 Node.js 版本
nvm list
Run Code Online (Sandbox Code Playgroud)
只需设置NODE_OPTIONS然后重新启动即可:
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
小智 20
当项目上的包未更新并且您使用的React 版本不是最新时,这是一个常见错误。
要解决此问题,您需要按以下方式更改package.json文件:
改变这个
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
Run Code Online (Sandbox Code Playgroud)
对此
"scripts": {
"start": "react-scripts --openssl-legacy-provider start",
"build": "react-scripts --openssl-legacy-provider build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
Run Code Online (Sandbox Code Playgroud)
San*_*nam 19
我在 Docker 构建中遇到了这个问题,我在 Docker 文件中添加了这一行:
RUN export NODE_OPTIONS=--openssl-legacy-provider && yarn build && yarn install --production --ignore-scripts --prefer-offline
Run Code Online (Sandbox Code Playgroud)
对于本地开发,请在文件package.json中添加开关。
小智 19
我遇到了同样的问题,以下方法有效。
将NODE_OPTIONS环境变量设置为--openssl-legacy-provider. 为此,请打开终端并运行以下命令:
export NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)
Net*_*ite 17
作为 2022 年的读者,所有答案都没有解决这个问题已为 Webpack 5 用户解决的问题(但没有向后移植到 Webpack 4)。如果您使用的是 Webpack 5,只需升级到至少5.61.0. 请参阅此处有关跟踪此问题的线程的评论。
bri*_*081 15
如果您遇到此错误并且不想更改主要配置,一个简单的解决方法是使用以下方法。不过,我不确定这是否值得推荐作为一个好的做法。
\n请随意纠正。
\npackage.json最初,让\xe2\x80\x99s 说这是我文件的脚本部分:
...\n"version": "1.0.0",\n "scripts": {\n ...\n "build": "npm run build:test-app:testing",\n "build:test-app:testing": "ng build test-app --deploy-url https://test-app.com/ --configuration=test-config",\n ...\n },\n "private": true,\n...\nRun Code Online (Sandbox Code Playgroud)\n为了使用它,export NODE_OPTIONS=--openssl-legacy-provider您可以执行以下操作:
"version": "1.0.0",\n "scripts": {\n....\n "build": "NODE_OPTIONS=--openssl-legacy-provider npm run build:test-app:testing\xe2\x80\x9d,\n "build:test-app:testing": "NODE_OPTIONS=--openssl-legacy-provider ng build test-app --deploy-url https://test-app.com/ --configuration=test-config"\n...\n },\n "private": true,\nRun Code Online (Sandbox Code Playgroud)\n记下构建脚本。我添加了一个选项:NODE_OPTIONS=--openssl-legacy-provider
这有助于解决 Node.js 版本 17 中的此错误。
\n对于那些能够灵活更改构建系统的 Node.js 版本的人,只需切换到低于 17 的版本即可,例如版本 16。
\n对于 Docker,最初使用它的用例总是提取最新版本:
\n...\nFROM node:alpine\n...\nRun Code Online (Sandbox Code Playgroud)\n您可以切换到类似的内容:
\n...\nFROM node:16-alpine3.12\n...\nRun Code Online (Sandbox Code Playgroud)\n
小智 15
查看
node -v
v17.4.0
Run Code Online (Sandbox Code Playgroud)
然后回滚到 node --lts (node v16.13.2 (npm v8.1.2)) 以使用nvm。
nvm install 16
Run Code Online (Sandbox Code Playgroud)
然后检查node -v并确认它是版本16。
Art*_*ary 15
运行开发服务器时,节点版本v18.0.0 和 nuxt 框架版本2.15出现相同错误,将通过以下方式修复:
"scripts": {
"dev": "NODE_OPTIONS=--openssl-legacy-provider nuxt"
}
Run Code Online (Sandbox Code Playgroud)
Hir*_*age 15
"scripts": {
"start": "react-scripts --openssl-legacy-provider start",
"build": "react-scripts --openssl-legacy-provider build",
}
Run Code Online (Sandbox Code Playgroud)
这对我有用。
Abd*_*shi 13
这个解决方案对我有用。
此错误出现在 Node.js 版本 17+ 中,因此请尝试降级 Node.js 版本。
就这样。
Jos*_*den 12
这个答案是一个直接的 OpenSSL 系统级解决方法,无需触及之前工作的构建配置。
\n在理想的情况下,您有时间升级和迁移不安全的构建依赖项,并确保您没有破坏应用程序中的其他内容(或者批发只是避免 webpack,或者在我的情况下从vue-cli迁移到使用 esbuild 的vite)。
\n您“应该”相反,(a)告诉 webpack 使用更新的哈希函数,或者 (b) 使用npm audit.
最快的解决方法是通过在系统范围的 OpenSSL 配置中启用“旧版”加密提供程序来暂时重新启用 MD4。
\n这是非常不安全和严厉的。之后,您应该禁用旧的加密方法。
\n(不幸的是,以下内容仅经过测试可在 Linux 上运行)。
\n备份现有的 OpenSSL 配置:\nsudo cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.BAK
附加(或取消注释)以下配置以启用旧的“提供者”(OpenSSL 称之为)。您可能想要sudo vim /etc/ssl/openssl.cnf或类似的。
[provider_sect]\ndefault = default_sect\nlegacy = legacy_sect\n\n[default_sect]\nactivate = 1\n\n[legacy_sect]\nactivate = 1\nRun Code Online (Sandbox Code Playgroud)\n像以前一样重新运行节点脚本。
\n之后禁用旧提供程序。
\nsudo mv -f /etc/ssl/openssl.cnf.BAK /etc/ssl/openssl.cnf
该解决方案来自对类似问题的回答。
\nNode 在 *nix 系统上使用 OpenSSL 进行哈希函数和加密。最新版本的 OpenSSL 默认情况下禁用 MD4\xe2\x80\x94这将破坏任何以前使用 MD4 的工作程序。考虑到这一点,任何认为使用 MD4 进行文件哈希是“好主意”的 npm 软件包现在都已损坏\xe2\x80\x94,尽管自 1996 年以来 RSA 实验室就认为 MD4 已损坏!MD4 也于 2011 年被RFC 6150 “正式”列为过时。
\nDon*_*Liu 11
我在使用 Node.js v18.4.0构建跳房子时遇到了同样的错误,但set NODE_OPTIONS=--openssl-legacy-provider救了我!
日志
\nD:\\code\\rust\\hoppscotch-app\\hoppscotch>pnpm install && pnpm run generate\nScope: all 5 workspace projects\nLockfile is up-to-date, resolution step is skipped\nAlready up-to-date\npackages/codemirror-lang-graphql prepare$ rollup -c\n\xe2\x94\x82 Browserslist: caniuse-lite is outdated. Please run:\n\xe2\x94\x82 npx browserslist@latest --update-db\n\xe2\x94\x82 Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating\n\xe2\x94\x82\n\xe2\x94\x82 src/index.js \xe2\x86\x92 dist/index.cjs, ./dist...\n\xe2\x94\x82 created dist/index.cjs, ./dist in 2.8s\n\xe2\x94\x94\xe2\x94\x80 Done in 4.8s\npackages/hoppscotch-data prepare$ tsup src --dts\n[20 lines collapsed]\n\xe2\x94\x82 CJS dist\\chunk-LZ75CAKS.js 13.00 B\n\xe2\x94\x82 DTS Build start\n\xe2\x94\x82 DTS \xe2\x9a\xa1\xef\xb8\x8f Build success in 2261ms\n\xe2\x94\x82 DTS dist\\index.d.ts 714.00 B\n\xe2\x94\x82 DTS dist\\rest\\index.d.ts 2.18 KB\n\xe2\x94\x82 DTS dist\\graphql\\index.d.ts 589.00 B\n\xe2\x94\x82 DTS dist\\collection\\index.d.ts 1.30 KB\n\xe2\x94\x82 DTS dist\\rest\\content-types.d.ts 473.00 B\n\xe2\x94\x82 DTS dist\\rest\\HoppRESTAuth.d.ts 882.00 B\n\xe2\x94\x82 DTS dist\\type-utils.d.d.ts 1.00 B\n\xe2\x94\x94\xe2\x94\x80 Done in 3.8s\npackages/hoppscotch-js-sandbox postinstall$ pnpm run build\n\xe2\x94\x82 > @hoppscotch/js-sandbox@1.0.0 build D:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-js-sandbox\n\xe2\x94\x82 > npx tsc\n\xe2\x94\x94\xe2\x94\x80 Done in 8.7s\n. prepare$ husky install\n\xe2\x94\x82 husky - Git hooks installed\n\xe2\x94\x94\xe2\x94\x80 Done in 300ms\npackages/hoppscotch-app postinstall$ pnpm run gql-codegen\n[12 lines collapsed]\n\xe2\x94\x82 [14:58:01] Load GraphQL documents [started]\n\xe2\x94\x82 [14:58:01] Load GraphQL documents [completed]\n\xe2\x94\x82 [14:58:01] Generate [started]\n\xe2\x94\x82 [14:58:01] Generate [completed]\n\xe2\x94\x82 [14:58:01] Generate helpers/backend/backend-schema.json [completed]\n\xe2\x94\x82 [14:58:02] Load GraphQL documents [completed]\n\xe2\x94\x82 [14:58:02] Generate [started]\n\xe2\x94\x82 [14:58:02] Generate [completed]\n\xe2\x94\x82 [14:58:02] Generate helpers/backend/graphql.ts [completed]\n\xe2\x94\x82 [14:58:02] Generate outputs [completed]\n\xe2\x94\x94\xe2\x94\x80 Done in 4s\n\n> hoppscotch-app@2.2.1 generate D:\\code\\rust\\hoppscotch-app\\hoppscotch\n> pnpm -r do-build-prod\n\nScope: 4 of 5 workspace projects\npackages/hoppscotch-js-sandbox do-build-prod$ pnpm run build\n\xe2\x94\x82 > @hoppscotch/js-sandbox@1.0.0 build D:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-js-sandbox\n\xe2\x94\x82 > npx tsc\n\xe2\x94\x94\xe2\x94\x80 Done in 7.5s\npackages/hoppscotch-app do-build-prod$ pnpm run generate\n\xe2\x94\x82 > hoppscotch-app@2.2.1 generate D:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-app\n\xe2\x94\x82 > nuxt generate --modern\n\xe2\x94\x82 i Sentry reporting is disabled (no DSN has been provided)\n\xe2\x94\x82 i Production build\n\xe2\x94\x82 i Bundling only for client side\n\xe2\x94\x82 i Target: static\n\xe2\x94\x82 i Using components loader to optimize imports\n\xe2\x94\x82 i Discovered Components: node_modules/.cache/nuxt/components/readme.md\n\xe2\x94\x82 \xe2\x88\x9a Builder initialized\n\xe2\x94\x82 \xe2\x88\x9a Nuxt files generated\n\xe2\x94\x82 i Compiling Client\n\xe2\x94\x82 ERROR Error: error:0308010C:digital envelope routines::unsupported\n\xe2\x94\x82 at new Hash (node:internal/crypto/hash:67:19)\n\xe2\x94\x82 at Object.createHash (node:crypto:133:10)\n\xe2\x94\x82 at module.exports (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\n\xe2\x94\x82 at NormalModule._initBuildHash (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_module\n\xe2\x94\x82 at handleParseError (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\l\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Load\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Load\n\xe2\x94\x82 at runSyncOrAsync (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at Array.<anonymous> (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loa\n\xe2\x94\x82 at Storage.finished (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\enhanced-resolve@4.5.0\\node_modules\\e\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\enhanced-resolve@4.5.0\\node_modules\\enhanced-resolve\\li\n\xe2\x94\x82 WARN Browserslist: caniuse-lite is outdated. Please run:\n\xe2\x94\x82 npx browserslist@latest --update-db\n\xe2\x94\x82 Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating\n\xe2\x94\x82 ERROR error:0308010C:digital envelope routines::unsupported\n\xe2\x94\x82 at new Hash (node:internal/crypto/hash:67:19)\n\xe2\x94\x82 at Object.createHash (node:crypto:133:10)\n\xe2\x94\x82 at module.exports (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\u\n\xe2\x94\x82 at NormalModule._initBuildHash (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\\n\xe2\x94\x82 at handleParseError (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js:5\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js:3\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Loader\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\lo\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\lo\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Loader\n\xe2\x94\x82 at context.callback (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\babel-loader@8.2.3_@babel+core@7.16.12\\node_modules\\babel\n\xe2\x94\x82 D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\LoaderRunne\n\xe2\x94\x82 throw e;\n\xe2\x94\x82 ^\n\xe2\x94\x82 Error: error:0308010C:digital envelope routines::unsupported\n\xe2\x94\x82 at new Hash (node:internal/crypto/hash:67:19)\n\xe2\x94\x82 at Object.createHash (node:crypto:133:10)\n\xe2\x94\x82 at module.exports (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\n\xe2\x94\x82 at NormalModule._initBuildHash (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_module\n\xe2\x94\x82 at handleParseError (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\l\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Load\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Load\n\xe2\x94\x82 at context.callback (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\load\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\cache-loader@4.1.0_webpack@4.46.0\\node_modules\\cache-lo\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\graceful-fs@4.2.8\\node_modules\\graceful-fs\\graceful-fs.\n\xe2\x94\x82 at FSReqCallback.oncomplete (node:fs:201:23) {\n\xe2\x94\x82 opensslErrorStack: [ \'error:03000086:digital envelope routines::initialization error\' ],\n\xe2\x94\x82 library: \'digital envelope routines\',\n\xe2\x94\x82 reason: \'unsupported\',\n\xe2\x94\x82 code: \'ERR_OSSL_EVP_UNSUPPORTED\'\n\xe2\x94\x82 }\n\xe2\x94\x82 Node.js v18.4.0\n\xe2\x94\x82 \xe2\x80\x89ELIFECYCLE\xe2\x80\x89 Command failed with exit code 1.\n\xe2\x94\x94\xe2\x94\x80 Failed in 8.3s\nD:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-app:\n\xe2\x80\x89ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\xe2\x80\x89 hoppscotch-app@2.2.1 do-build-prod: `pnpm run generate`\nExit status 1\n\xe2\x80\x89ELIFECYCLE\xe2\x80\x89 Command failed with exit code 1.\n\nD:\\code\\rust\\hoppscotch-app\\hoppscotch>npx browserslist@latest --update-db\nNeed to install the following packages:\n browserslist@4.20.4\nOk to proceed? (y) y\nLatest version: 1.0.30001357\nUpdating caniuse-lite version\n$ pnpm up caniuse-lite\ncaniuse-lite has been successfully updated\n\nNo target browser changes\n\nD:\\code\\rust\\hoppscotch-app\\hoppscotch>pnpm install && pnpm run generate\nScope: all 5 workspace projects\nLockfile is up-to-date, resolution step is skipped\nAlready up-to-date\npackages/codemirror-lang-graphql prepare$ rollup -c\n\xe2\x94\x82 Browserslist: caniuse-lite is outdated. Please run:\n\xe2\x94\x82 npx browserslist@latest --update-db\n\xe2\x94\x82 Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating\n\xe2\x94\x82\n\xe2\x94\x82 src/index.js \xe2\x86\x92 dist/index.cjs, ./dist...\n\xe2\x94\x82 created dist/index.cjs, ./dist in 2.8s\n\xe2\x94\x94\xe2\x94\x80 Done in 4.8s\npackages/hoppscotch-data prepare$ tsup src --dts\n[20 lines collapsed]\n\xe2\x94\x82 CJS dist\\chunk-JUWXSDKJ.js 1010.00 B\n\xe2\x94\x82 DTS Build start\n\xe2\x94\x82 DTS \xe2\x9a\xa1\xef\xb8\x8f Build success in 2250ms\n\xe2\x94\x82 DTS dist\\index.d.ts 714.00 B\n\xe2\x94\x82 DTS dist\\rest\\index.d.ts 2.18 KB\n\xe2\x94\x82 DTS dist\\graphql\\index.d.ts 589.00 B\n\xe2\x94\x82 DTS dist\\collection\\index.d.ts 1.30 KB\n\xe2\x94\x82 DTS dist\\rest\\content-types.d.ts 473.00 B\n\xe2\x94\x82 DTS dist\\rest\\HoppRESTAuth.d.ts 882.00 B\n\xe2\x94\x82 DTS dist\\type-utils.d.d.ts 1.00 B\n\xe2\x94\x94\xe2\x94\x80 Done in 3.7s\npackages/hoppscotch-js-sandbox postinstall$ pnpm run build\n\xe2\x94\x82 > @hoppscotch/js-sandbox@1.0.0 build D:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-js-sandbox\n\xe2\x94\x82 > npx tsc\n\xe2\x94\x94\xe2\x94\x80 Done in 8.5s\n. prepare$ husky install\n\xe2\x94\x82 husky - Git hooks installed\n\xe2\x94\x94\xe2\x94\x80 Done in 335ms\npackages/hoppscotch-app postinstall$ pnpm run gql-codegen\n[12 lines collapsed]\n\xe2\x94\x82 [15:02:37] Load GraphQL documents [started]\n\xe2\x94\x82 [15:02:37] Load GraphQL documents [completed]\n\xe2\x94\x82 [15:02:37] Generate [started]\n\xe2\x94\x82 [15:02:37] Generate [completed]\n\xe2\x94\x82 [15:02:37] Generate helpers/backend/backend-schema.json [completed]\n\xe2\x94\x82 [15:02:38] Load GraphQL documents [completed]\n\xe2\x94\x82 [15:02:38] Generate [started]\n\xe2\x94\x82 [15:02:38] Generate [completed]\n\xe2\x94\x82 [15:02:38] Generate helpers/backend/graphql.ts [completed]\n\xe2\x94\x82 [15:02:38] Generate outputs [completed]\n\xe2\x94\x94\xe2\x94\x80 Done in 3.8s\n\n> hoppscotch-app@2.2.1 generate D:\\code\\rust\\hoppscotch-app\\hoppscotch\n> pnpm -r do-build-prod\n\nScope: 4 of 5 workspace projects\npackages/hoppscotch-js-sandbox do-build-prod$ pnpm run build\n\xe2\x94\x82 > @hoppscotch/js-sandbox@1.0.0 build D:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-js-sandbox\n\xe2\x94\x82 > npx tsc\n\xe2\x94\x94\xe2\x94\x80 Done in 6.9s\npackages/hoppscotch-app do-build-prod$ pnpm run generate\n\xe2\x94\x82 > hoppscotch-app@2.2.1 generate D:\\code\\rust\\hoppscotch-app\\hoppscotch\\packages\\hoppscotch-app\n\xe2\x94\x82 > nuxt generate --modern\n\xe2\x94\x82 i Sentry reporting is disabled (no DSN has been provided)\n\xe2\x94\x82 i Production build\n\xe2\x94\x82 i Bundling only for client side\n\xe2\x94\x82 i Target: static\n\xe2\x94\x82 i Using components loader to optimize imports\n\xe2\x94\x82 i Discovered Components: node_modules/.cache/nuxt/components/readme.md\n\xe2\x94\x82 \xe2\x88\x9a Builder initialized\n\xe2\x94\x82 \xe2\x88\x9a Nuxt files generated\n\xe2\x94\x82 i Compiling Client\n\xe2\x94\x82 ERROR Error: error:0308010C:digital envelope routines::unsupported\n\xe2\x94\x82 at new Hash (node:internal/crypto/hash:67:19)\n\xe2\x94\x82 at Object.createHash (node:crypto:133:10)\n\xe2\x94\x82 at module.exports (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\n\xe2\x94\x82 at NormalModule._initBuildHash (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_module\n\xe2\x94\x82 at handleParseError (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\l\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Load\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Load\n\xe2\x94\x82 at runSyncOrAsync (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\\n\xe2\x94\x82 at Array.<anonymous> (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loa\n\xe2\x94\x82 at Storage.finished (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\enhanced-resolve@4.5.0\\node_modules\\e\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\enhanced-resolve@4.5.0\\node_modules\\enhanced-resolve\\li\n\xe2\x94\x82 WARN Browserslist: caniuse-lite is outdated. Please run:\n\xe2\x94\x82 npx browserslist@latest --update-db\n\xe2\x94\x82 Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating\n\xe2\x94\x82 ERROR error:0308010C:digital envelope routines::unsupported\n\xe2\x94\x82 at new Hash (node:internal/crypto/hash:67:19)\n\xe2\x94\x82 at Object.createHash (node:crypto:133:10)\n\xe2\x94\x82 at module.exports (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\u\n\xe2\x94\x82 at NormalModule._initBuildHash (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\\n\xe2\x94\x82 at handleParseError (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js:5\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js:3\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Loader\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\lo\n\xe2\x94\x82 at iterateNormalLoaders (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\lo\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\Loader\n\xe2\x94\x82 at context.callback (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\babel-loader@8.2.3_@babel+core@7.16.12\\node_modules\\babel\n\xe2\x94\x82 D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\loader-runner@2.4.0\\node_modules\\loader-runner\\lib\\LoaderRunne\n\xe2\x94\x82 throw e;\n\xe2\x94\x82 ^\n\xe2\x94\x82 Error: error:0308010C:digital envelope routines::unsupported\n\xe2\x94\x82 at new Hash (node:internal/crypto/hash:67:19)\n\xe2\x94\x82 at Object.createHash (node:crypto:133:10)\n\xe2\x94\x82 at module.exports (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\n\xe2\x94\x82 at NormalModule._initBuildHash (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_module\n\xe2\x94\x82 at handleParseError (D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\l\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\NormalModule.js\n\xe2\x94\x82 at D:\\code\\rust\\hoppscotch-app\\hoppscotch\\node_modules\\.pnpm\\webpack@4.46.0\\node_modules\\webpack\\lib\\Norm
小智 11
您必须在此文件中使用MD5 。MD4是默认值,但它不起作用。它将正常工作,直到您删除node_modules 文件夹。
转到此路径:*/node_modules/metro-cache/src/
将文件stableHash.js从 md4 更改为 md5 ,如下所示:
小智 7
这在我的应用程序博览会上对我有用(从 Node.js 17 降级到 Node.js 12 或 14)。
如果您安装了 nvm,则可以更改节点版本:
首先检查nvm中Node.js的版本:
nvm list
Run Code Online (Sandbox Code Playgroud)
其次,安装版本12或14:
nvm install v12.22.8
Run Code Online (Sandbox Code Playgroud)
在 PowerShell 中:
$env:NODE_OPTIONS = "--openssl-legacy-provider"
Run Code Online (Sandbox Code Playgroud)
它适用于 Node.js v18.7.0。
小智 5
当我迁移React项目以支持 TypeScript 时,我遇到了同样的错误。
npm install命令npm audit fix --force命令这对我有用。
| 归档时间: |
|
| 查看次数: |
2661256 次 |
| 最近记录: |