Подтвердить что ты не робот

Нет двоичного кода для браузера 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

4b9b3361

Ответ 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

В основном, что происходит: карма пытается запустить браузер, но не может найти свой бит. Как только вы экспортируете путь к правильному пути, он запускается.