找不到模块'eslint-plugin-angular'

jpo*_*eda 11 eslint

我想ESLint融入我的项目,我遇到了错误:"找不到模块'eslint-插件-角’"当我运行$ eslint *.js.

我可以运行的唯一方法是全局安装eslint-plugin-angular,但这似乎是错误的(除非我遗漏了什么?).

我在跑:

  • 节点v0.12.7
  • npm 3.3.4
  • eslint v1.5.0
  • eslint-plugin-angular 0.12.0

ESLint全球安装.

我的package.json文件包含以下条目:

  • "eslint":"^ 1.5.0",
  • "eslint-plugin-angular":"^ 0.12.0",

我已经$ rm -rf node_modules重新运行$ npm install以确保没有某种类型的npm依赖问题或损坏.我还验证了目录权限,node_modules以确保可以访问.

我的.eslintrc包含:

{
    "plugins": [
        "angular"
    ],
    "rules": {
    "angular/ng_controller_name": [
        2,
        "/[A-Z].*Controller$/"
    ],
    "quotes": [
        2,
        "single"
    ]
    },
        "globals": {
        "angular": true
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?谢谢!PS.我确实在github上打开了一张票:https://github.com/Gillespie59/eslint-plugin-angular/issues/222 - 只是想知道Stack社区中是否有人遇到过这个问题.

jpo*_*eda 20

在这里找到答案:http://eslint.org/docs/user-guide/configuring#configuring-plugins

"注意:全局安装的ESLint实例只能使用全局安装的ESLint插件.本地安装的ESLint可以确保本地和全局安装的ESLint插件."

这是阅读文档中的细则.:/

有两种方法可以解决这个问题:

(1)全局安装插件.我不是特别喜欢这个,因为我有多个不同版本的依赖项的客户端项目,我不一定只是将它们全部碰到同一个版本.

(2)在本地安装插件并在package.json文件中添加脚本:

{
    ... other stuff
    "scripts": {
        "eslint": "eslint",
        "lint": "eslint. "
    }
    ... other stuff
}
Run Code Online (Sandbox Code Playgroud)

(如果您对此完全陌生,请记住,这... other stuff不是您在package.json文件中实际需要的内容......)

通过这个设置,我可以npm run eslint使用eslint和我npm run lint用来实际lint我的项目.

您可以在此处找到scriptspackage.json文件的字段文档:https://docs.npmjs.com/misc/scripts