ReferenceError: globalThis 未定义

问题描述

我已经使用以下代码全局安装了 npm 模块 aws-amplify/cli:

npm install -g @aws-amplify/cli

这有效,但是当尝试使用 amplify cli 初始化我的环境时,它给了我以下错误

/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/queue-microtask/index.js:1
ReferenceError: globalThis is not defined
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/queue-microtask/index.js:5:25)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/run-parallel/index.js:4:24)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/@nodelib/fs.scandir/out/providers/async.js:5:13)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/@nodelib/fs.scandir/out/index.js:4:15)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/@nodelib/fs.walk/out/readers/async.js:4:19)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/@nodelib/fs.walk/out/providers/async.js:3:17)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/@nodelib/fs.walk/out/index.js:4:17)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/fast-glob/out/readers/stream.js:5:16)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/fast-glob/out/providers/async.js:3:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/fast-glob/out/index.js:3:17)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/globby/index.js:5:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/utils/packageLayer.js:21:34)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/utils/layerParams.js:13:24)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/index.js:7:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/lib/index.js:13:29)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/@aws-amplify/cli/lib/extensions/amplify-helpers/update-amplify-Meta.js:34:37)
    at Generator.next (<anonymous>)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at AmplifyToolkit.get updateamplifyMetaAfterResourceAdd [as updateamplifyMetaAfterResourceAdd] (/usr/local/lib/node_modules/@aws-amplify/cli/lib/domain/amplify-toolkit.js:229:17)
    at /usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/lib/provider-utils/awscloudformation/utils/amplify-Meta-updaters.js:48:21
    at processticksAndRejections (internal/process/next_tick.js:81:5)

我该如何解决这个问题?

解决方法

考虑将您的 node.js 版本更新为 >=12

globalThis 已根据 this compatibility table 添加到 node.js v12.0.0 中。

注意:另请参阅已报告此问题的 queue-microtask GitHub 存储库中的 issue #17