gulp-eslint 环境密钥“es2021”未知

Posted

技术标签:

【中文标题】gulp-eslint 环境密钥“es2021”未知【英文标题】:gulp-eslint Environment key "es2021" is unknown 【发布时间】:2021-04-04 13:38:37 【问题描述】:

我有一个具有以下依赖项的项目;

  "dependencies": 
    "express": "^4.17.1"
  ,
  "devDependencies": 
    "browser-sync": "^2.26.13",
    "del": "^6.0.0",
    "eslint": "^7.16.0",
    "eslint-config-standard": "^16.0.2",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "gulp": "^4.0.2",
    "gulp-cssmin": "^0.2.0",
    "gulp-eslint": "^6.0.0",
    "gulp-htmllint": "0.0.19",
    "gulp-htmlmin": "^5.0.1",
    "gulp-imagemin": "^7.1.0",
    "gulp-jsmin": "^0.1.5"

当我尝试使用 eslint/gulp-eslint 运行 lints javascript 的 gulp 任务时;

function javascript() 
    return src('private/script/**')
        //.pipe(jsmin())
        .pipe(eslint())
        .pipe(eslint.format())
        .pipe(eslint.failAfterError())
        .pipe(dest('public/script'));

我收到以下错误;

Error: .eslintrc.json » eslint-config-standard:
        Environment key "es2021" is unknown

我使用npx eslint --init生成如下配置文件;


    "env": 
        "browser": true,
        "commonjs": true,
        "es6": true
    ,
    "extends": [
        "standard"
    ],
    "globals": 
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    ,
    "parserOptions": 
        "ecmaVersion": 2018
    ,
    "rules": 
    

我已经完成了 npm 安装,以确保我拥有最新版本的依赖项。我还在guthub上读到该错误可能与gulp-eslint有关,因为它是旧版本并且可能没有使用eslint的当前版本,但是,我已将gulp-eslint package.json更改为使用最新版本的eslint 并没有运气。我还将 node/npm 更新为最新的 lts 版本。

【问题讨论】:

【参考方案1】:

我通过删除node_modules 文件夹中gulp-eslinteslint 文件夹来解决此问题。这会强制节点使用您拥有的版本作为依赖项,而不是项目维护者想要使用的版本。

it appears this is a known issue.

【讨论】:

【参考方案2】:

我通过将 eslint 版本升级到版本 7 来解决它 这就是my package json 的样子

【讨论】:

以上是关于gulp-eslint 环境密钥“es2021”未知的主要内容,如果未能解决你的问题,请参考以下文章

使用 gulp-eslint 的问题

gulp-eslint 不在点目录中检查 .js 文件

gulp-eslint 无法解析可选链接语法

JSX 支持不再适用于 gulp-eslint 5.0.0

顶部未定义的环境变量

production.ERROR:Laravel 中未指定应用程序加密密钥