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

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

问题描述:

我正在使用VS Code的eslint。 eslint的配置可以在here找到。错误:无法读取配置文件:X: package.json

我的开发环境使用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.jsonX:

为了确保问题不与VS代码插件,我试图lint以eslint CLI文件,但使用相同的错误而失败。

$ 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在驱动X:而不是当前工作目录的根目录寻找package.json

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