【问题标题】:phantomjs cannot start upphantomjs 无法启动
【发布时间】:2015-03-05 10:50:35
【问题描述】:

我在我的项目中使用 AngularJS 并使用 karma 进行测试。然后我像这样配置业力:

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

当我输入 'grunt test' 时,控制台显示 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.

我该如何解决这个问题?有人可以帮帮我吗?

【问题讨论】:

  • 你的 PhantomJS 是全局安装的吗?你的环境变量 PHANTOMJS_BIN 说什么?
  • 我也有同样的问题,我的输出是:ERROR [launcher]: Cannot start PhantomJS Error: spawn EACCES

标签: gruntjs karma-runner


【解决方案1】:

将 package.json 中的 karma-phantomjs-launcher 版本升级到 1.0.2 并重新安装包。

【讨论】:

  • 2017 年为我工作
【解决方案2】:

我也遇到了这个问题,似乎是 karma-phantomjs2-launcher 在哪里寻找 phantomjs 可执行文件的问题。它使用 PHANTOMJS_BIN 来运行 phantomjs,所以我这样解决了:

export PHANTOMJS_BIN=/usr/local/bin/phantomjs

只要你也可以从命令行运行“phantomjs”并且它可以工作,那应该可以做到。

【讨论】:

  • 为我节省了很多时间。谢谢!
【解决方案3】:

安装 libfontconfig。假设你在 ubuntu 上:

sudo apt-get install libfontconfig

这为我解决了。

【讨论】:

    【解决方案4】:

    也许它对某人有帮助。我没有正当理由突然收到相同的控制台消息,我只是停止了咕噜声并想重新启动它。

    我 npm 卸载了 karma 并重新安装了 karma。

    【讨论】:

      猜你喜欢
      • 2013-12-20
      • 1970-01-01
      • 2016-04-22
      • 2014-12-23
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多