![](/img/trans.png)
[英]Error: Failed to load parser '@babel/eslint-parser' declared in '.eslintrc.js': Cannot find module '@babel/core/package.json'
[英]Error: Failed to load parser 'babel-eslint' declared in '.eslintrc': Cannot find module 'babel-eslint' in create-react-app
嘗試將eslint安裝到create-react-app中,但在運行 linter 時出現下一個錯誤:
這是我的.eslintrc
配置文件:
{
"extends": ["airbnb", "prettier", "prettier/react"],
"plugins": ["prettier"],
"parser": "babel-eslint"
}
如果手動安裝babel-eslint
,它可能會基於項目和react-scripts
依賴項之間的 package 沖突產生另一個錯誤:
要解決此問題,只需重用已安裝的react-scripts
中的babel-eslint
依賴項。 更新您的配置:
{
"extends": ["airbnb", "prettier", "prettier/react"],
"plugins": ["prettier"],
"parser": "react-scripts/node_modules/babel-eslint"
}
你安裝了@babel/eslint-parser
還是eslint-parser
? 在我的情況下,我不得不使用@babel/eslint-parser
和.eslintrc
看起來像這樣:
"parser": "@babel/eslint-parser",
在我的情況下,解決方案只是運行npm install eslint --save-dev
來更新 eslint 版本
yarn add eslint --save-dev
為我解決了這個問題!
這里有點晚了,但我想我會分享讓我前進的原因......
我完全忽略了錯誤輸出,它告訴我.eslintrc
文件(正在尋找所述包)的位置。 正如你所看到的......我有一些隨機的.eslintrc
生活在我的項目之外,不知何故被撿起。
Failed to load parser 'babel-eslint' declared in '../.eslintrc': Cannot find module 'babel-eslint'
刪除這個包最終為我修復了錯誤。 不確定該文件是如何到達那里的,但在以前的項目中是錯誤的。
我懷疑這與全局安裝 babel-eslint 和 eslint 有關。
對我來說,這是因為確實沒有安裝該依賴項......我只是按照 GatsbyJS 的官方指南,它沒有安裝(不知道為什么該指南不完整)。
所以只需: yarn add -D babel-eslint
❯ yarn add -D babel-eslint
yarn add v1.22.15
[1/4] Resolving packages...
warning babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
babel-eslint
似乎已棄用,並且包現在作為babel
下的 ES 模塊提供,因此請刪除babel-eslint
並安裝@babel/eslint-parser
yarn remove babel-eslint
yarn add -D @babel/eslint-parser
在項目根文件夾 eslint 上運行eslint .
將顯示您可能需要安裝的丟失的軟件包,並且對我來說效果很好。
只需在 .eslintrc 中添加@babel/eslint-parser
至於我,我只需安裝這個 npm install eslint@4.x babel-eslint@8 - g 它對我有用
我還有另一個“這對我有用”的答案。 像其他人一樣,我的問題肯定與babel-eslint
的棄用有關。 我的具體問題是eslint-config-react-app
被標記為直接依賴項,我沒有在升級react-scripts
的主要版本時升級它,不知何故這給我留下了一個eslint-config-react-app
版本eslint-config-react-app
期待babel-eslint
,但只安裝了@babel/eslint-parser
。 刪除eslint-config-react-app
只刪除了舊的直接依賴項,但以不同的方式破壞了事情,重新安裝(不使其成為我的包的直接依賴項)讓事情再次為我工作。 我敢肯定有一種更清潔的方法可以做到這一點。
$npm ls eslint-config-react-app
client@0.1.1 /srv/
├── eslint-config-react-app@6.0.0
└─┬ react-scripts@5.0.1
└── eslint-config-react-app@7.0.1
$ npm rm eslint-config-react-app
removed 1 package, and audited 2909 packages in 4s
$ npm ls eslint-config-react-app
client@0.1.1 /srv/
└─┬ react-scripts@5.0.1
└── eslint-config-react-app@7.0.1
$ npm i --no-save eslint-config-react-app
added 1 package, removed 1 package, and audited 2909 packages in 6s
$ npm ls eslint-config-react-app
client@0.1.1 /srv/
└─┬ react-scripts@5.0.1
└── eslint-config-react-app@7.0.1
這就像魅力
npm 更新 eslint
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.