"eslint"未被识别为内部或外部命令

68

2
使用 npm ls -g 命令获取全局安装位置,然后确保将其添加到你的 PATH 环境变量中。在 Windows 上,至少在第一次设置时这是一个常见问题... - Matthew Bakaitis
你能提供更多关于你的系统的细节吗?如果你再次运行 npm i -g eslint,它会报错吗? - Steffen
5个回答

133

eslint 模块不能全局安装。

相反,你应该将 eslint-cli 模块安装到全局。

因此,首先要在全局安装eslint-cli

npm -g i eslint-cli

然后在项目文件夹中:本地安装eslint

npm i eslint --save-dev

然后在项目文件夹中你可以运行类似以下命令:(在Windows上)

eslint .\

为什么使用“npm install --save-dev eslint-cli”无法正常工作,而需要进行全局安装?其他类似nodemon的库可以作为开发依赖项从控制台中使用。 - Mansur
3
这个答案已经过时了。根据 eslint-cli 的作者的说法: ⚠️ 这个包已经不再必要。请使用内置的 npx 命令代替。 - Henke
我们中的一些人需要维护旧应用程序,因此需要eslint-cli。对我来说,只需运行“npm i eslint --save-dev”而不是全局安装eslint-cli软件包即可。 - Lars Ladegaard
https://eslint.org/docs/latest/use/getting-started#manual-set-up - some_groceries

31

如果您是Windows用户,而安装eslint-cli失败了,请尝试:

那么如果您是Windows用户,而安装eslint-cli无法正常工作,请尝试:

node node_modules\eslint\bin\eslint.js --help

或者,您可以使用npx来在node_modules/.bin中运行本地命令:

npx eslint --help

使用 yarn

yarn eslint --help

注意:

  1. 本答案已更新,包括yarnnpx
  2. 此问题与本地安装的模块有关。

1
很好,这解决了我的问题,但你漏掉了一件事...反斜杠在Windows命令提示符或Git Bash中不起作用,因为它被视为转义字符,所以请使用正斜杠。如果您不介意的话,我会编辑您的答案。 - Kingston Fortune
1
不,这是适用于Windows命令提示符的合适形式。 - Jalal
反斜杠在Windows的cmd终端中是正确的。如果您正在GitBash(适用于Windows)中运行命令,则使用正斜杠。 - Henke

4

对我来说,发布的解决方案有效:

步骤 1: 全局安装 eslint npm -g i eslint-cli

步骤 2: 本地安装 eslint npm i eslint --save-dev

添加两个步骤: 步骤 3: eslint --init

它会问一些问题,例如: √ 您要如何使用 ESLint? · 风格 √ 您的项目使用哪种类型的模块? · 无 √ 您的项目使用哪个框架? · 无 √ 您的项目是否使用 TypeScript? · 否 / 是 √ 您的代码在哪里运行? · 浏览器 √ 您想如何为您的项目定义样式? · 提示 √ 您想以什么格式编写配置文件? · JavaScript √ 您使用哪种缩进风格? · 制表符 √ 您用什么引号表示字符串? · 单引号 √ 您使用哪种行尾? · unix √ 您需要分号吗? · 否 / 是

根据您的需求回答这些问题。

步骤 4: eslint yourfile.js 这将显示文件中的错误/警告。 这样就完成了 js 文件的 linting 过程。


4

对我来说出现了相同的错误。

我通过使用以下命令解决了这个问题:

  • npm -g i eslint-cli
  • npm i eslint-plugin-promise@latest --save-dev

1

针对Windows用户

将以下内容添加到您的环境变量中: "%AppData%\npm"

enter image description here


关键是什么? - PrimeTimeTran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接