Gruntjs phantomjs无法启动
我在我的项目中使用了AngularJS和karma进行测试。然后我将业力配置为:Gruntjs phantomjs无法启动,gruntjs,karma-runner,Gruntjs,Karma Runner,我在我的项目中使用了AngularJS和karma进行测试。然后我将业力配置为: config.set({ basePath: '../', frameworks: ['jasmine'], files: [ // bower:js 'bower_components/jquery/dist/jquery.js', 'bower_components/angular/angular.js', 'bower_c
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']);
export PHANTOMJS_BIN=/usr/local/bin/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']);
export PHANTOMJS_BIN=/usr/local/bin/phantomjs
当我键入“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.
我怎样才能解决这个问题?有人能帮我吗?安装libfontconfig。假设你在ubuntu上:
sudo apt get安装libfontconfig
这为我解决了问题。我也遇到了这个问题,似乎是karma-phantomjs2-launcher在哪里查找phantomjs可执行文件的问题。它使用PHANTOMJS_BIN来运行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']);
export PHANTOMJS_BIN=/usr/local/bin/phantomjs
只要您也可以从命令行运行“phantomjs”并且它可以工作,就应该可以了。在package.json中将karma phantomjs launcher版本升级到1.0.2,然后重新安装包 也许这对某人有帮助。我突然收到了相同的控制台消息,但没有任何正当的理由,我只是停止了grunt并想重新启动它
我npm卸载了karma并重新安装了karma。您的PhantomJS是否在全球安装?你的环境变量PHANTOMJS_BIN怎么说?我也有同样的问题,我的输出是:ERROR[launcher]:无法启动PHANTOMJS ERROR:spawn eaccessrelated:为我节省了很多时间。非常感谢。2017年为我工作