如何修复 eslint createRequire 不是 Atom Editor 中的函数?

chr*_*ris 10 node.js eslint atom-editor eslint-config-airbnb

我很难找到这个错误,所以我发帖是为了帮助其他搜索类似错误的人。


我决定使用 eslint 和 Node.js 在 Atom 中的 Ubuntu 18.04 上建立一个新项目。

ESlint 本身安装并运行得很好eslint:recommended,但当我安装eslint-config-airbnb-base并更改配置以扩展时airbnb-base,我开始在 Atom 中收到错误,并且它不会解析我的文件。

Error while running ESLint: createRequire is not a function.

删除airbnb并依赖eslint-plugin-import会出现类似的错误:

Error while running ESLint: Failed to load plugin 'import' declared in '.eslintrc.yaml': createRequire is not a function.

但是,在命令行上运行 eslint 效果很好。

chr*_*ris 17

这是一个兼容性问题。

对 eslint 的更改删除了支持以下节点版本的 polyfillv10.12.0

我运行的是 Atom 1.45.0,它使用 node v10.11.0。从命令行运行 eslint 是有效的,因为我v12.18.2在那里安装了节点。

因此,您有两种选择来解决该问题:

  1. 升级您的 Atom 编辑器(在撰写本文时,最新版本为 1.49.0,它使用节点版本v12.0.0)。如果这对你来说不可能的话...
  2. 将 eslint 降级到版本6.8.0(7.0.0 之前的最后一个版本)。该版本仍然包含createRequire.

  • 非常感谢。第二种选择对我来说非常有效。 (2认同)