安装angular2-notifications后运行lint失败

Gab*_*ult 7 lint npm tslint angular

我最近使用Angular-CLI创建了一个新的Angular4项目.

我遇到的问题是在安装angular2-notifications之后,运行ng lint命令时出错.

错误:

无法加载C:\ Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo \node_modules\angular2-notifications\tslint.json:找不到自定义规则目录:C:\ Users\Gabriel\Documents\GitHub\Go- NOGO\GoNoGo \node_modules\angular2的通知\node_modules\codelyzer

堆栈跟踪 :

at new FatalError (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\tslint\lib\error.js:40:23)
at Object.findConfiguration (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\tslint\lib\configuration.js:47:15)
at files.forEach (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\@angular\cli\tasks\lint.js:36:50)
at Array.forEach (native)
at lintConfigs.map (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\@angular\cli\tasks\lint.js:30:19)
at Array.map (native)
at Class.run (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\@angular\cli\tasks\lint.js:21:14)
at Class.run (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\@angular\cli\commands\lint.js:45:25)
at Class.Command.validateAndRun (C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\@angular\cli\ember-cli\lib\models\command.js:128:15)
at C:\Users\Gabriel\Documents\GitHub\Go-NoGo\GoNoGo\node_modules\@angular\cli\ember-cli\lib\cli\cli.js:92:22
Run Code Online (Sandbox Code Playgroud)

我已经转向谷歌这个问题,没有任何运气.我去过GitHub回购,也没有运气.

然后我进入tslint.json了angular2-notifications包的实际文件.

我在顶部看到这个:

"rulesDirectory": [
    "node_modules/codelyzer"
],
Run Code Online (Sandbox Code Playgroud)

当我删除这3行时,该ng lint命令有效.

我的问题是,我在这里遗漏了什么吗?我需要这个命令才能工作,我不认为修改包是一个可接受的解决方案.这是包装本身的一个错误,我应该向他们报告?

谢谢

ggr*_*num 8

从angular-cli.json中的lint配置中排除node_modules:

"lint": [
    {
      "project": "src/tsconfig.app.json",
      "exclude": "**/node_modules/**/*"
    },
    {
      "project": "src/tsconfig.spec.json",
      "exclude": "**/node_modules/**/*"
    },
    {
      "project": "e2e/tsconfig.e2e.json",
      "exclude": "**/node_modules/**/*"
    }]
Run Code Online (Sandbox Code Playgroud)

angular2-notifications项目显然不应该破坏用户的lint.尽管如此,我认为一个项目不应该尝试不应该编辑的lint代码也是公平的.

  • `angular-cli.json`文件已经在Angular的第6版中用`angular.json`重命名/替换.文件的格式也发生了变化.请参阅/sf/answers/3512880451/ (2认同)