Нет двоичного файла для браузера PhantomJS на вашей платформе. Пожалуйста, установите переменную env " PHANTOMJS BIN
мой пакет.json выглядит так..
"karma-phantomjs-launcher": "^0.1.4",
"karma-safari-launcher": "^0.1.1",
"karma-sinon-chai": "~0.2.0",
"karma-spec-reporter": "~0.0.16",
"mocha": "~1.20.1"
моя версия npm-2.2.0
whay я получаю это, когда я запускаю тест кармы-карма начать мой.conf.js
11 ответов
У меня тоже была эта проблема со старой версией node. Если вы не хотите, чтобы жестко кодировать эту переменную среды, обновление вашей версии узла решит проблему. Просто сделайте следующее (инструкции OSX):
npm uninstall -g phantomjs
npm cache clean -f
brew upgrade nodejs
rm -rf node_modules
npm install -g YOUR_GLOBAL_DEPENDENCIES
npm install
Edit: обновленные инструкции, чтобы убедиться, что нет глобальной зависимости phantomjs
это, похоже, проблема с phantom JS runner и phantom JS версиями.
https://github.com/karma-runner/karma-phantomjs-launcher/issues/31
Как я исправил свою проблему..
//install
npm install -g karma-phantomjs-launcher
//temporary path.. set the path
export PHANTOMJS_BIN=/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
karma start my.conf.js
я столкнулся с этой же проблемой. Исправление вручную установить PHANTOMJS_BIN
переменная, указывающая на правильный путь phantomjs. Как-то Karma launcher пытается посмотреть на неправильный путь, установленный PHANTOMJS_BIN
.
вот что сработало для меня:
$ echo $PHANTOMJS_BIN
/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ grunt test
после этого все в порядке.
Я попал в эту проблему с karma-phantomjs-launcher@1.0.0, где я также установил phantomjs@2.1.3 - ...
оказывается, что phantomjs устарел, заменен на phantomjs-prebuilt.
удаление обоих пакетов и переустановка phantomjs-prebuilt Исправлена проблема с karma-phantomjs-launcher:
npm -g remove phantomjs phantomjs-prebuilt
npm -g install phantomjs-prebuilt
Я удаляю всю папку node_modules в моем проекте и запускаю "npm install". Это исправило мою проблему.
мой karma.conf.js
была такая строка:process.env.PHANTOMJS_BIN = 'node_modules/karma-phantomjs-launcher/node_modules/.bin/phantomjs';
в верхней части. Я только что это поняла! Я прокомментировал это, и это работает
я встречал ту же проблему иногда. У меня есть gruntfile.js
и я package.json
где я явно добавить phantomjs-prebuilt
как зависимость. Но мой сервер CI иногда может работать 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']);
была такая же проблема, сделал все выше, никакого результата просто удалил папку "karma-phantomjs-launcher" из глобальных node_modules и локального проекта, называется "установка npm", и все в порядке!
столкнулся с такой проблемой. То, что я сделал, это установить phantomjs глобально npm install -g phantomjs
. Затем пошел в karma-phantomjs-launcher
папка модуля и открыт . Затем я пошел в phantomJSExePath
функция и прокомментировал предыдущее содержимое (не уверен, что безопасно делать то, что я сделал). Тогда я поставил
return 'C://Users/user/AppData/Roaming/npm/node_modules/phantomjs/lib/phantom/phantomjs.exe';
спас меня от перепечатки временного экспорта.
выполните следующие команды:
npm remove phantomjs -g
npm remove phantomjs
npm install phantomjs
после этого установка:
вы получите сообщение, подобное приведенному ниже:
Linking to global install at /usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
скопируйте этот путь и запустите:
export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
В основном, что происходит: карма пытается запустить браузер, но не может найти его бункер. Как только вы экспортируете путь в правильный путь, он запускается.