【发布时间】:2020-10-19 12:14:46
【问题描述】:
我在 Mac 上使用命令 npm install -g eslint 全局安装 ESLint。安装成功,但是当我运行eslint -v时,我遇到了这个问题:
$ npm install -g eslint
path/to/bin/eslint -> path/to/lib/node_modules/eslint/bin/eslint.js
+ eslint@7.3.1
added 107 packages from 63 contributors in 4.823s
$ eslint -v
path/to/lib/node_modules/eslint/bin/eslint.js:93
} catch {
^
SyntaxError: Unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:617:28)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
我想知道导致此问题的缺少哪些步骤?我正在使用 Node.js v8.16.2 和 NPM v6.4.1。
【问题讨论】:
-
你要么没有使用 Babel,要么没有允许你跳过错误“param”的设置(可选的 catch 绑定)——
} catch (e) {可以工作。 -
我正在全局安装它。我需要在全局 eslint 文件夹中设置一些东西吗?我不明白为什么我需要添加参数。我只想展示我的 eslint 版本。
-
您使用的是哪个版本的 Node?
-
nodejs v8.16.2。对于 npm 6.4.1。
-
ESLint 7 放弃了对节点 8 的支持:eslint.org/blog/2020/05/eslint-v7.0.0-released。您需要该语言功能,这意味着至少节点 10:node.green/#ES2019-misc-optional-catch-binding