我有时会遇到同样的问题。我有一个gruntfile.js
我package.json
明确添加phantomjs-prebuilt
为依赖项的地方。但是我的 CI Server 有时可以grunt karma
流畅运行,有时却无法认领No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable
。
所以我添加了一个grunt task
以确保在PHANTOMJS_BIN
测试运行之前设置了变量,然后解决了这个烦人的问题。
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
所以最后Gruntfile.js
看起来像这样:
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
grunt.registerTask('test', ['ensurePhantomJsPath', 'karma']);