今天在安装eslint
的时候,发现项目总是出现问题,明明安装的是eslint@8.0.1
,执行eslint --init
出来的居然是eslint.config.js
配置文件,而且文件内容和eslint@9.X
里面的一模一样。
我又执行了一下:npx eslint --init
为什么会这样?难道eslint --init
和npx eslint --init
还不一样?
原来是这样的,
eslint --init
命令通常指的是直接运行 ESLint 的初始化命令,用于在项目中配置 ESLint。这个命令会引导用户通过交互式界面选择 ESLint 的配置选项,包括选择要使用的规则集、配置 ESLint 的环境等。这种方式通常是在已经全局安装了 ESLint 的情况下使用的。npx eslint --init
命令则是通过npx
工具来运行 ESLint 的初始化命令。npx
是一个包运行器,它允许你在不全局安装任何包的情况下运行项目本地的包。因此,npx eslint --init
命令会在项目本地安装或使用 ESLint,如果项目本地没有 ESLint,npx
会自动从 npm 仓库中安装它。这种方式适用于那些还没有全局安装 ESLint 或者想要避免全局安装的用户。
我去全局下载包里面看看,原来全局安装的真的是eslint@9.8.0
所以以后记得,执行命令前记得加上npx,代表得是当前目录下面的包。不然项目装出来,到处报错,还找不到问题,你就完蛋了。