我正在尝试让我的Karma Unit测试在远程Jenkins服务器上运行 . 这个Jenkins服务器在Linux上运行,已经安装了旧版本的PhantomJS,并在环境中定义了PHANTOMJS_BIN . 我正在使用gulp-karma和karma-phantomjs-launcher-nonet包来运行业力测试 .
然而,当jenkins解雇Karma时,它似乎无法产生PhantomJS . 我收到以下错误:
[13:33:00]启动Karma服务器... [32mINFO [业力]:[39mKarma v0.12.37服务器从http:// localhost:9876 / [32mINFO [launcher]开始:[39m启动浏览器PhantomJS [31mERROR [karma] ]:[39m {[错误:生成EACCES]代码:'EACCES',错误:'EACCES',系统调用:'spawn'}错误:在ChildProcess.spawn的exports._errnoException(util.js:874:11)处生成EACCES (internal / child_process.js:298:11)在objects._execCommand(/ appl / jenkins / workspace / ps-lib / node_modules / karma / lib / launchers / process)的exports.spawn(child_process.js:339:9) . js:63:21)在Object的Object._start(/appl/jenkins/workspace/ps-lib/node_modules/karma-phantomjs-launcher-nonet/index.js:40:10) . (/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/launchers/process.js:14:10)在emit.ene(events.js:82:20)的Object.emit(events.js:169: 7)在/ appl / jenkins / workspace / ps-lib / node_modules / karma /的Object.start(/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/launchers/base.js:40:10) lib / launcher.js:88:15在[object object] .launch(/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/launcher.js:40:11)的Array.forEach(native)处服务器上的[object Object] .invoke(/appl/jenkins/workspace/ps-lib/node_modules/karma/node_modules/di/lib/injector.js:75:15) . (/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/server.js:62:18)在emit.gone上的Server.g(events.js:260:16)(events.js:72:20)在at.eTCallback1(node.js:430:9)的emit.eiste(events.js:166:7)处的process.emit(events.js:166:7)处于process._tickCallback(node.js:352:17)/ appl /jenkins/workspace/ps-lib/tasks/test.js:15 throw err; ^错误:在ChildProcess完成的代码1(/appl/jenkins/workspace/ps-lib/node_modules/gulp-karma/index.js:56:30)退出了业力 . (/appl/jenkins/workspace/ps-lib/node_modules/gulp-karma/index.js:82:7)在ChildProcess.emit(events.js:172:7)的emitTwo(events.js:87:13)在Process.ChildProcess._handle.onexit(internal / child_process.js:200:12)
因此,在我看来,由于授权原因,我的业力无法运行PhantomJS,我是对的吗?仍然是用户jenkins // jenkins安装了phantomjs,所以jenkins应该可以运行它,对吗?