你好,我面临的问题是,我有一个包的问题。我的项目没有阅读“node_modules”文件夹。我已经尝试过恢复它,将项目迁移到新项目,并手动传输文件。我还下载了所需的依赖项,但Metro仍然没有编译应用程序。
Loading dependency graph...Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:69:19)
at Object.createHash (node:crypto:138:10)
at stableHash (C:\Users\COM-PALOMO\OneDrive\Documentos\logistica\logisticatracking\node_modules\metro-cache\src\stableHash.js:19:8)
at JsTransformer.getCacheKey (C:\Users\COM-PALOMO\OneDrive\Documentos\logistica\logisticatracking\node_modules\metro\src\JSTransformer\worker.js:471:7)
at getTransformCacheKey (C:\Users\COM-PALOMO\OneDrive\Documentos\logistica\logisticatracking\node_modules\metro\src\DeltaBundler\Transformer\getTransformCacheKey.js:39:29)
at new Transformer (C:\Users\COM-PALOMO\OneDrive\Documentos\logistica\logisticatracking\node_modules\metro\src\DeltaBundler\Transformer.js:147:28)
at C:\Users\COM-PALOMO\OneDrive\Documentos\logistica\logisticatracking\node_modules\metro\src\Bundler.js:54:29 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
从我所看到的,Node.js版本不支持特定的SSL功能,在'package.json'文件中,在'scripts'下,我添加了以下行来使Metro运行:'start': 'set NODE_OPTIONS=--openssl-legacy-provider && react-native start'
. Metro已成功启动,但未触发构建应用程序的选项。值得注意的是,React Native项目的版本是0.61.4,我机器上安装的Node.js版本是20.6.0。
1条答案
按热度按时间46scxncf1#
建议删除node modules文件夹,通过Npm或Yarn重新安装node modules,
并再次尝试构建后gradlew清洁.(cd android && ./gradlew清洁)
如果问题存在,在android studio中打开android文件夹并同步gradle,它有助于获得更准确的日志.
也可以尝试使用Xcode中的工作区的ios部分。