2015-03-05 3 views
6

Я использовал AngularJS в своем проекте и карму для тестирования. Затем я настроил карма, как это:phantomjs не может быть запущен

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 

}) 

И хрюкать, как это:

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']); 

Когда я типа 'тест черновую', консоль показывает, что phantomjs не может начаться:

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. 

Как могу я решить это? Кто-нибудь может мне помочь?

+0

Установлен ли ваш PhantomJS по всему миру? Что говорит ваша env variable PHANTOMJS_BIN? –

+0

У меня такая же проблема, мой выход: ERROR [пусковая установка]: не удается запустить PhantomJS \t Ошибка: spawn EACCES –

+0

Связано: http://stackoverflow.com/questions/31966434/karma-chrome-failed-2-times- can-start-give-up/42700178 # 42700178 –

ответ

5

Установить libfontconfig. Предполагая, что вы находитесь на убунту:

sudo apt-get install libfontconfig

Это решило его для меня.

-1

Если вы установили браузер Chrome на свой компьютер, переключитесь на него.

В массиве браузеров записывайте Chrome вместо PhantomJS, а в массиве плагинов используйте karma-chrome-launcher.

karma-chrome-launcher доступен как другой пакет узлов, он должен быть установлен.

browsers: [ 
     'Chrome' 
    ], 
    plugins: 
     'karma-chrome-launcher', 
     'karma-jasmine' 
    ], 
7

Я побежал в это тоже, казалось, проблема с тем, где карма-phantomjs2-пусковая ищет phantomjs исполняемого файла. Он использует PHANTOMJS_BIN запустить phantomjs, так что я решил так:

export PHANTOMJS_BIN=/usr/local/bin/phantomjs 

Пока вы можете запустить «phantomjs» из командной строки тоже, и она работает, что, вероятно, следует сделать это.

+1

Сохранено мне много времени. Спасибо! –

+0

Это работало для меня на macOS sierra (v10.2). Благодаря! – accraze

2

Обновление версии karma-phantomjs-launcher до версии 1.0.2 в пакете package.json и переустановка пакета.

+1

Работал для меня в 2017 году – mles

0

Возможно, это помогает кому-то. Внезапно я получил одни и те же сообщения консоли без уважительных причин, я просто остановился и хотел перезапустить его.

I npm удаленная карма и переустановка кармы.

Смежные вопросы