错误:找不到模块“eslint/lib/rules/no-unused-expressions”

Posted

技术标签:

【中文标题】错误:找不到模块“eslint/lib/rules/no-unused-expressions”【英文标题】:Error: Cannot find module 'eslint/lib/rules/no-unused-expressions' 【发布时间】:2019-03-28 01:03:15 【问题描述】:

通过 NPM 安装 ESLint 后,我​​的浏览器出现以下错误:

引用自:

知道是什么原因造成的,我该如何解决?

【问题讨论】:

你初始化 eslint 了吗? eslint --init 你运行 eslint 吗?,eslint yourfile.js 你有 eslintrc 文件吗?? eslint --init generate --> 'eslint' 不是内部或外部命令、可运行程序或批处理文件。 npm i eslint -g 【参考方案1】:

我知道现在回答太晚了,也许它会帮助到这个帖子的人。

对于 linux 用户并使用 npx 只需键入 npx eslint --init 作为 documentation says

【讨论】:

【参考方案2】:

轻松修复 #1

npm i -D --save eslint-loader

轻松修复 #2

npm i -D --save eslint@5.16.0

解释

如果您查看错误堆栈跟踪,您会看到错误实际上是从eslint-loader/index.js 触发的(所以不是eslint)。 然后在node_modules中,你可以找到eslint-loader,并在其package.json中查看版本。它可能已经过时了。我的是 1.9.0,而 eslint-loader 的当前版本是 4.0.2 回到错误 - 它所抱怨的路径显然确实在较新版本的 eslint(我认为是 v6)中从 eslint/lib/formatters/stylish 更改为 eslint/lib/formatters/<some-other-folder>/stylish。现在这个旧的 eslint-loader 版本无法在 eslint 中找到更新的路径。

因此,要么将 eslint-loader 升级到知道这条新路径的新版本(简单修复 1),要么将 eslint 降级到它具有旧路径时(简单修复 2),两者都应该有效。

为了记录,我认为这个过时的依赖来自 webpack,这使得 create-react-app 人员难以调试。

【讨论】:

安装 eslint 有效,但我根本不想要它。正如你所说,它可能来自 Webpack。 当使用 create-react-app 时,无论你是否想要,Webpack 都会为你提供 ESLint。要完全摆脱 ESLint,您可能必须退出项目,然后自己挖掘项目以摆脱它。如果项目不是 create-react-app,则从 package.json 中删除 ESLint,完全删除 package-lock.json 文件,删除 node_modules 文件夹,然后执行 npm install。这应该完全删除 ESLint【参考方案3】:

尝试以下步骤:

    删除 package-lock.json 文件 删除 node_modules 文件夹 删除 .eslintrc 文件 删除包含“eslint”的 devDependencies 在终端输入:npm install 在终端输入:npm run start

如果您想拥有 eslint,请尝试检查您的 devDependencies 中是否有以下行:

"eslint": "5.6.0"
    NPM 安装 ESLINT

【讨论】:

按照上面的操作会产生另一个错误,现在 npm start 也不起作用。 您需要确保从 package.json 中删除 eslint 时没有破坏 json。你能发布你的 package.json 文件吗? 另外,我要求你删除 package-lock.json 而不是 package.json。 所以你修复 eslint 的方法是移除 eslint? @GeorgeMarin 不,它正在完全删除 eslint,如果需要 eslint,请再次添加该 eslint + npm install eslint【参考方案4】:

已删除节点模块文件夹 删除了我的 package-lock.json 文件 从 package.json 文件中移除 eslint 再次安装所有包

npm install   
npm start 

一切都恢复正常了

【讨论】:

【参考方案5】:

确保清理您的node_modules。删除你的 package-lock.json。并运行

npm cache clean --force 清理缓存。 现在通过在目录下运行来安装eslint

npm i --save eslint

【讨论】:

【参考方案6】:

我在使用 create-react-app 时遇到了这个问题。 React 脚本已经安装了 eslint 版本,这意味着你不需要自己安装 eslint。我通过执行以下操作解决了这个问题:

    已删除节点模块文件夹 删除了我的 package-lock.json 文件 从 package.json 文件中删除了我本地安装的 eslint 再次安装所有软件包npm install npm start 一切都恢复正常了

【讨论】:

以上是关于错误:找不到模块“eslint/lib/rules/no-unused-expressions”的主要内容,如果未能解决你的问题,请参考以下文章

颤振:“致命错误:找不到模块'位置'”Xcode找不到模块

无法启动 Terminal Services 服务。错误 126: 找不到指定的模块。

错误找不到模块'@angular/material

Phonegap 错误 + 错误:找不到模块 'q'

解析错误:找不到模块'next/babel'

找不到模块:错误:无法解析模块“fs”