首页 > 代码库 > Angularjs学习---ubuntu12.04中karma安装配置中常见的问题总结

Angularjs学习---ubuntu12.04中karma安装配置中常见的问题总结

karma启动时出现了很多问题:

1.安装karma前提条件

安装karma首先要安装nodejs,npm然后才可以安装karma.nodejs,npm的安装过程可以参考文章:Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

2.安装karma步骤

karma官方指导教程:http://karma-runner.github.io/0.12/intro/installation.html

1).首先执行下面命令:

npm install -g karma

2).安装karma-cli

$ npm install -g karma-cli

3)安装插件:

# Install plugins that your project needs:
$ npm install karma-jasmine karma-chrome-launcher --save-dev

3.karma启动设置和报错处理

启动karma:

karma start

报如下错误:

amosli@amosli-pc:~/develop/angular-phonecat$ karma start

module.js:340
    throw err;
          ^
Error: Cannot find module zeparser
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/amosli/develop/angular-phonecat/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/index.js:1:78)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

解决方法:

sudo npm install zeparser

原因是没有安装zeparser,安装一下就好了.

然后重新配置一下karma,配置步骤如下:

 

这里karma init 后会生成karam.conf.js

我们这里需要修改:files和exclude变量

module.exports = function (config) {
    config.set({
        basePath: ‘‘,
        frameworks: [jasmine],
        files: [*.js],
        exclude: [karma.conf.js],
        reporters: [progress],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: [Chrome],
        captureTimeout: 60000,
        singleRun: false
    });
};

然后最好是将karma.conf.js移到/usr/local/lib/node_modules/karma/,这样启动时会直接在根目录查找karam.conf.js文件了.

再输入karma start

amosli@amosli-pc:~$ karma start
INFO [karma]: Karma v0.12.14 server started at http://localhost:9876/
INFO [Chrome 34.0.1847 (Linux)]: Connected on socket UJ16Fx9X5cKFcMslNw8N with id manual-8888

 配置参考http://blog.fens.me/nodejs-karma-jasmine/