Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

phantomjs cannot start up

I used AngularJS in my project and karma to test. Then I configured karma like this:

config.set({
    basePath: '../',
    frameworks: ['jasmine'],
    files: [
        // bower:js
        'bower_components/jquery/dist/jquery.js',
        'bower_components/angular/angular.js',
        'bower_components/bootstrap/dist/js/bootstrap.js',
        'bower_components/angular-animate/angular-animate.js',
        'bower_components/angular-cookies/angular-cookies.js',
        'bower_components/angular-route/angular-route.js',
        'bower_components/angular-sanitize/angular-sanitize.js',
        'bower_components/angular-mocks/angular-mocks.js',
        // endbower
        'js/**/*.js',
        'test/spec/**/*.js'
    ],
    browsers: [
        'PhantomJS'
    ],
    plugins: [
        'karma-phantomjs-launcher',
        'karma-jasmine'
    ],
    port: 8890

})

And grunt like this:

grunt.initConfig({
    connect: {
        testserver: {
            options: {
                base: 'js/',
                hostname: 'localhost',
                port: '8889'
            }
        }
    },
    karma: {
        unit: {
            configFile: './test/karma-unit.conf.js',
            singleRun: true
        }
    } 
});

grunt.registerTask('test', ['connect', 'karma:unit']);

When I type 'grunt test', the console shows that phantomjs cannot start:

Running "connect:testserver" (connect) task
Started connect web server on http://localhost:8889

Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.31 server started at http://localhost:8890/
INFO [launcher]: Starting browser PhantomJS
ERROR [launcher]: Cannot start PhantomJS

INFO [launcher]: Trying to start PhantomJS again (1/2).
ERROR [launcher]: Cannot start PhantomJS

INFO [launcher]: Trying to start PhantomJS again (2/2).
ERROR [launcher]: Cannot start PhantomJS

ERROR [launcher]: PhantomJS failed 2 times (cannot start). Giving up.
Warning: Task "karma:unit" failed. Use --force to continue.

Aborted due to warnings.

How can I solve this? Can anybody help me?

like image 517
user4636317 Avatar asked Mar 05 '15 10:03

user4636317


3 Answers

I ran into this too, seemed to be an issue with where karma-phantomjs2-launcher looks for the phantomjs executable. It uses PHANTOMJS_BIN to run phantomjs, so I solved it like this:

export PHANTOMJS_BIN=/usr/local/bin/phantomjs

As long as you can run "phantomjs" from the command line too and it works, that should probably do it.

like image 112
user1118279 Avatar answered Nov 16 '22 01:11

user1118279


Install libfontconfig. Assuming you are on ubuntu:

sudo apt-get install libfontconfig

This solved it for me.

like image 45
Paulo Schreiner Avatar answered Nov 16 '22 00:11

Paulo Schreiner


Upgrade karma-phantomjs-launcher version to 1.0.2 in package.json and reinstall the package.

like image 24
Kushal Avatar answered Nov 16 '22 02:11

Kushal