我今天更新了node,我得到了这个错误:
error: TypeError: Cannot read properties of undefined (reading 'transformFile')
at Bundler.transformFile (/Users/.../node_modules/metro/src/Bundler.js:48:30)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.transform (/Users/.../node_modules/metro/src/lib/transformHelpers.js:101:12)
at async processModule (/Users/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:137:18)
at async traverseDependenciesForSingleFile (/Users/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:131:3)
at async Promise.all (index 0)
at async initialTraverseDependencies (/Users/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:114:3)
at async DeltaCalculator._getChangedDependencies (/Users/.../node_modules/metro/src/DeltaBundler/DeltaCalculator.js:164:25)
at async DeltaCalculator.getDelta (/Users/.../node_modules/metro/src/DeltaBundler/DeltaCalculator.js:94:16)除此之外,我没有做任何不寻常的事情,所以我不确定要分享什么。如果我遗漏了任何信息,请留言,我会补充的。
在构建终端时也会抛出这个错误:
Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at stableHash (/Users/.../node_modules/metro-cache/src/stableHash.js:19:8)
at Object.getCacheKey (/Users/.../node_modules/metro-transform-worker/src/index.js:593:7)
at getTransformCacheKey (/Users/.../node_modules/metro/src/DeltaBundler/getTransformCacheKey.js:24:19)
at new Transformer (/Users/.../node_modules/metro/src/DeltaBundler/Transformer.js:48:9)
at /Users/.../node_modules/metro/src/Bundler.js:22:29
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}我的Node、NPM和其他版本包括:

发布于 2021-10-20 16:32:48
在Node.js 17.0.0中遇到了同样的问题。为了解决这个问题,我降级到了14.18.1版本,删除了node_modules并重新安装。
发布于 2021-11-19 10:19:40
您可以通过对节点js进行降级来解决此问题。
> nvm list // to see all available node version
> nvm install 16.13.0 // to install the version I wanted
> nvm use 16.13.0 // use the installed version发布于 2021-10-21 08:12:37
快速和肮脏的解决方法(对我有效):
在package.json模块中解析新的OpenSSL PKCS8格式之前,添加或更新您的tls engines部分,以停止尝试使用当前的Node17.0.x进行构建:
"engines": {
"node": "<17",
"npm": "<8.2"
},https://stackoverflow.com/questions/69647332
复制相似问题