Error while loading rule 'prettier/prettier'

配置安装ESLint的时候出现了下面的报错:

Error while loading rule ‘prettier/prettier’

详情报错

Error while loading rule 'prettier/prettier': context.getPhysicalFilename is not a function

网上找了各种方法:

  1. 删除依赖 node_modules ,重装

    对于我的情况来说,无效

  2. 检查是否忘记安装 prettier 插件
     $ yarn add prettier
    

    我已经安装了。

  3. 修改 eslint 配置文件 .eslintrc.js 中的 prettier 插件

     {
       "extends": [
         "airbnb/base",
         "prettier"
       ],
       "plugins": [
         "prettier"
       ]
     }
    

    改为:

     {
       "extends": [
         "airbnb/base",
         "eslint-config-prettier"
       ],
       "plugins": [
         "eslint-plugin-prettier"
       ]
     }
    

    对于我的情况来说,无效

  4. 升级 ESLint 的版本

    $ yarn upgrade -R eslint
    

    对于我的情况来说,无效

  5. 在 eslint 配置文件 .eslintrc.js 中的 rules 增加 “prettier/prettier”: 1

    "rules": {
       "prettier/prettier": 1,
    },
    

    对于我的情况来说,无效

  6. eslint-plugin-prettier 恢复到 3.1.4 版本

    总算解决了!!!

参考资料

Definition for rule ‘prettier/prettier’ was not found prettier/prettier

context.getPhysicalFilename is not a function