【Node.js, ESLint, WebStormユーザー必見】「ESLint: TypeError: this.libOptions.parse is not a function」エラーを根本から解決する方法
"ESLint: TypeError: this.libOptions.parse is not a function" エラーの解決策
解決策は以下の通りです:
ESLint を 8.22 以下にダウングレードする:
node_modules
フォルダとpackage-lock.json
ファイルを削除します。npm install
コマンドを実行して、ESLint を再インストールします。
WebStorm で ESLint を無効にする:
Settings/Preferences
に移動します。Languages & Frameworks
>JavaScript
>Code Inspection
を選択します。ESLint
を無効にします。
ESLint 構成で parser オプションを使用する:
.eslintrc
ファイルに以下の行を追加します。
"parser": "@typescript-eslint/parser"
eslint-plugin-import を 2.25.0 以上に更新する:
- 以下のコマンドを実行します。
npm install eslint-plugin-import@>=2.25.0
npm install eslint-plugin-react@>=8.0.1
// エラーが発生するコード例
const { Linter } = require('eslint');
const linter = new Linter({
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
rules: {
'@typescript-eslint/no-unused-vars': 'error',
},
});
const sourceCode = `
function addNumbers(a: number, b: number): number {
return a + b;
}
const sum = addNumbers(10, 20);
console.log(sum);
`;
const lintResult = linter.lintText(sourceCode);
console.log(lintResult);
TypeError: this.libOptions.parse is not a function
このエラーを修正するには、以下のいずれかの方法を使用できます:
npm install [email protected] --save-exact
{
"parser": "@typescript-eslint/parser"
}
npm install eslint-plugin-import@>=2.25.0
npm install eslint-plugin-react@>=8.0.1
修正後、コードは正常に実行されるはずです。
ESLint "TypeError: this.libOptions.parse is not a function" エラーの解決策(その他)
WebStorm の ESLint プラグインが問題を引き起こしている可能性があります。無効にするには、以下の手順を実行します。
ESLint キャッシュが破損している可能性があります。クリアするには、以下の手順を実行します。
File
>Invalidate Caches
>Invalidate Project Cache
を選択します。.eslintcache
ファイルを削除します。
WebStorm を再起動する:
問題が解決しない場合は、WebStorm を再起動してみてください。
コンピューターを再起動する:
まれに、コンピューターの再起動が必要な場合もあります。
問題を報告する:
上記の方法で問題が解決しない場合は、ESLint チームに問題を報告してください。https://github.com/eslint/eslint/issues
node.js eslint webstorm