今天在安裝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,代表得是當前目錄下面的包。不然專案裝出來,到處報錯,還找不到問題,你就完蛋了。