错误:找不到模块“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”的主要内容,如果未能解决你的问题,请参考以下文章