没有找到karma插件依赖项

时间:2015-09-06 16:10:37

标签: javascript node.js karma-runner

当我运行karma start时,我会遇到以下问题

C:\devl\JS\myProject>karma start
06 09 2015 11:30:19.133:WARN [plugin]: Cannot find plugin "karma-chrome-launcher
".
  Did you forget to install it ?
  npm install karma-chrome-launcher --save-dev
06 09 2015 11:30:19.149:WARN [plugin]: Cannot find plugin "karma-firefox-launche
r".
  Did you forget to install it ?
  npm install karma-firefox-launcher --save-dev
06 09 2015 11:30:19.159:WARN [plugin]: Cannot find plugin "karma-ie-launcher".
  Did you forget to install it ?
  npm install karma-ie-launcher --save-dev

当我npm list时,我可以看到树底部的依赖关系

├─┬ karma-chrome-launcher@0.2.0
│ ├─┬ fs-access@1.0.0
│ │ └── null-check@1.0.0
│ └─┬ which@1.1.1
│   └─┬ is-absolute@0.1.7
│     └── is-relative@0.1.3
├── karma-firefox-launcher@0.1.6
├─┬ karma-ie-launcher@0.2.0
│ └── lodash@3.10.1
└── karma-jasmine@0.3.6

我已经尝试过nuking我的node_dependencies并再次运行npm install,我不知道还有什么可以尝试

编辑:我已经在我的node_dependencies目录中验证了插件目录。

4 个答案:

答案 0 :(得分:52)

首次使用Karma时,有两个看似相似的投诉:

[preprocess]: Can not load "webpack", it is not registered!
  Perhaps you are missing some plugin?

[plugin]: Cannot find plugin "karma-webpack".
  Did you forget to install it ?
  npm install karma-webpack --save-dev

以下是我最好的建议,用于修复配置中的这两个问题......

“无法加载”XYZ“,它未​​注册!” (原文如此)

“也许你错过了一些插件?”的典型解决方案。消息是为了确保它包含在plugins中的karma.conf.js数组中。

plugins: [
  'karma-chrome-launcher',
  'karma-tap',
  'karma-sourcemap-loader',
  'karma-webpack' // *** This 'registers' the Karma webpack plugin.
],

“找不到插件'karma-xyz'。”

如果您已经通过运行npm install karma-xyz --save-dev安装了它,但是Karma仍然会提示您(您读取:嘲讽)“您是否忘记安装它?”警告,您可能有Karma模块的全局安装。

当您使用karma-cli安装-g的全局副本时,您可能会包含karma(或被告知通过一个好的教程这样做),但是在某些版本(即我曾经使用过的每个版本)中解决模块会导致问题。 Karma's installation documentation建议该模块应使用npm install karma --save-dev进行本地安装。

如果您有全局Karma安装,请尝试类似:

$ npm uninstall -g karma
$ npm install karma --save-dev

答案 1 :(得分:18)

我认为你在全球范围内安装了这些插件。

我遇到了同样的问题,我通过使用link标志安装chrome-karma-launcher解决了问题:

 npm install karma-chrome-launcher --save-dev --link

使用所有浏览器的插件执行此操作

 npm install karma-firefox-launcher --save-dev --link
 npm install karma-ie-launcher --save-dev --link

我不知道这是否是最好的方法,但这对我来说已经解决了。

答案 2 :(得分:2)

我遇到了同样的问题,但我通过这个命令解决了这个问题:

mount -o remount,rw /system

答案 3 :(得分:1)

如果有人遇到,只需添加!

我遇到一个烦人的问题,“无法加载浏览器“ Chrome”:未注册!也许您缺少某些插件?”当我运行“ grunt测试”

我已经在karma.conf.js的plugins []中添加了插件,但是仍然出现此错误。问题是我没有将插件添加到GruntFile.js的karma:options:plugins数组中。在此添加插件后,问题消失了!