Нет двоичного кода для браузера 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
Я получаю это, когда я запускаю тест на карму - начинаю карму my.conf.js
Ответы
Ответ 1
У меня возникла проблема со старой версией node. Если вы не хотите жестко кодировать эту переменную среды, обновление вашей версии 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
Изменить: обновленные инструкции, чтобы убедиться, что нет глобальной зависимости phantomjs
Ответ 2
Это похоже на проблему с фантомными версиями 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
Ответ 3
Я столкнулся с этой проблемой. Исправление состоит в том, чтобы вручную установить переменную PHANTOMJS_BIN
, чтобы указать правильный путь phantomjs. Как-то карма-пусковая установка пытается посмотреть неверный путь, установленный PHANTOMJS_BIN
.
Вот что сработало для меня:
$ echo $PHANTOMJS_BIN
/USR/локальные/Library/node_modules/карма-phantomjs-пусковая/node_modules/phantomjs/Library/phantom/bin/phantomjs
$ export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ grunt test
после этого все в порядке.
Ответ 4
Я ударил эту проблему с помощью [email protected], где я также установил [email protected]
Оказывается, что фантомы устарели, заменены фантомами-prebuilt.
Удаление обоих пакетов и переустановка phantomjs-prebuilt исправили проблему с карма-phantomjs-launcher:
npm -g remove phantomjs phantomjs-prebuilt
npm -g install phantomjs-prebuilt
Ответ 5
Я удаляю всю папку node_modules в моем проекте и запускаю "npm install". Это устранило мою проблему.
Ответ 6
Мой karma.conf.js
имел следующую строку: process.env.PHANTOMJS_BIN = 'node_modules/karma-phantomjs-launcher/node_modules/.bin/phantomjs';
вверху. Я просто это понял! Я прокомментировал это, и он работает
Ответ 7
Иногда я встречал ту же проблему. У меня есть 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']);
Ответ 8
Я решил эту проблему на OSX: karma.config.js
и создайте файл karma.config.js
используя sudo.
Ответ 9
была та же проблема, все вышло, нет результата
просто удалил папку "karma-phantomjs-launcher" из глобального node_modules и выполнил локальный проект,
называется "npm install", и все в порядке!
Ответ 10
Входите в проблему, подобную этой. Я сделал установку phantomjs глобально npm install -g phantomjs
. Затем перешел в папку модуля karma-phantomjs-launcher
и открыл файл index.js
. Затем я перешел к функции phantomJSExePath
и прокомментировал предыдущее содержимое (не уверен, что безопасно делать то, что я сделал). Затем я разместил
return 'C://Users/user/AppData/Roaming/npm/node_modules/phantomjs/lib/phantom/phantomjs.exe';
Сохраняло возможность повторного ввода временного экспорта.
Ответ 11
Выполните следующие команды:
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
В основном, что происходит: карма пытается запустить браузер, но не может найти свой бит.
Как только вы экспортируете путь к правильному пути, он запускается.