首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Bundler.transformFile读取未定义(读取“”transformFile“”)的属性

无法在Bundler.transformFile读取未定义(读取“”transformFile“”)的属性
EN

Stack Overflow用户
提问于 2021-10-20 13:52:56
回答 4查看 24.2K关注 0票数 31

我今天更新了node,我得到了这个错误:

代码语言:javascript
复制
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)

除此之外,我没有做任何不寻常的事情,所以我不确定要分享什么。如果我遗漏了任何信息,请留言,我会补充的。

在构建终端时也会抛出这个错误:

代码语言:javascript
复制
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和其他版本包括:

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-10-20 16:32:48

在Node.js 17.0.0中遇到了同样的问题。为了解决这个问题,我降级到了14.18.1版本,删除了node_modules并重新安装。

票数 40
EN

Stack Overflow用户

发布于 2021-11-19 10:19:40

您可以通过对节点js进行降级来解决此问题。

代码语言:javascript
复制
> 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
票数 9
EN

Stack Overflow用户

发布于 2021-10-21 08:12:37

快速和肮脏的解决方法(对我有效):

在package.json模块中解析新的OpenSSL PKCS8格式之前,添加或更新您的tls engines部分,以停止尝试使用当前的Node17.0.x进行构建:

代码语言:javascript
复制
  "engines": {
    "node": "<17",
    "npm": "<8.2"
  },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69647332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档