Tôi gặp vấn đề tương tự đôi khi. Tôi có số gruntfile.js
và tôi có package.json
nơi tôi thêm rõ ràng phantomjs-prebuilt
làm phụ thuộc. Nhưng đôi khi máy chủ CI của tôi có thể chạy được grunt karma
một cách trơn tru trong khi đôi khi không thể xác nhận quyền sở hữu số No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable
.
Vì vậy, tôi thêm grunt task
để đảm bảo biến số PHANTOMJS_BIN
được đặt trước khi chạy thử nghiệm và sau đó giải quyết vấn đề gây phiền nhiễu.
grunt.registerTask('ensurePhantomJsPath', function() {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
Vì vậy, cuối cùng là Gruntfile.js
trông như thế này:
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']);
Nguồn
2016-05-25 09:52:47
Thông báo khá rõ ràng: không có cài đặt PhantomJS trên máy của bạn. 'karma-phantomjs-launcher' sẽ tải xuống bản nhị phân của PhantomJS và cài đặt trên máy của bạn nếu có: bởi vì bạn không phải tự cài đặt và sau đó thêm đường dẫn của nó vào biến môi trường bằng cách sử dụng' PHANTOMJS_BIN'. – MarcoL
@MarcoCI Tôi có cùng một vấn đề và thực sự có một hệ nhị phân của các phantomj được cài đặt cùng với 'karma-phantomjs-launcher'. –
@Flek: sau đó xuất đường dẫn của tệp đó như được hiển thị trong câu trả lời bên dưới. – MarcoL