错误:无法读取配置文件:X:\ package.json

时间:2016-12-01 05:35:45

标签: json node.js package lint eslint

我在VS Code中使用eslint。可以找到here的eslint配置。

我的开发环境使用ESLint v3.10.2,Node.js v5.4.1,npm v3.3.12和VS Code v1.7.2。

问题是,当我用.js文件打开VS代码时,我可以看到如下所示的输出日志,

[Info  - 11:36:58 AM] ESLint server is running.
[Info  - 11:37:00 AM] ESLint library loaded from: X:\path-to-source\Source\node_modules\eslint\lib\api.js
[Error - 11:37:03 AM] Cannot read config file: X:\package.json Error: Cannot read config file: X:\package.json Error: Unexpected token : in JSON at position 9

eslint服务器能够运行,但无法从当前根文件夹中读取package.json文件。相反,它会尝试从驱动器的根目录加载package.json,即X:

为了确保问题不在VS Code插件中,我尝试使用eslint CLI lint文件,但失败并出现相同的错误。

$ eslint app/**
Cannot read config file: X:\package.json
Error: Cannot read config file: X:\package.json
Error: Unexpected token :
SyntaxError: Cannot read config file: X:\package.json
Error: Cannot read config file: X:\package.json
Error: Unexpected token :
    at Object.parse (native)
    at loadJSONConfigFile (A:\use folder\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:120:21)

我无法弄清楚为什么eslint在驱动器package.json的根目录而不是当前工作目录中寻找X:

1 个答案:

答案 0 :(得分:3)

ESLint使用configuration cascade,这意味着它尽可能地遍历,并且随着时间的推移合并配置。在您的工作目录.eslintrc中,您可以添加{ "root": true }以限制ESLint的配置搜索到您的工作目录中。