Pas de binaire pour le navigateur PhantomJS sur votre plate-forme. Please, set "PHANTOMJS BIN" env variable
mon paquet.json ressemble à ça..
"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"
ma version npm est 2.2.0
pourquoi suis-je ce quand je lance le karma test - karma commencer mon.conf.js
11 réponses
j'avais ce problème avec une version plus ancienne de node, aussi. Si vous ne voulez pas avoir à coder cette variable d'environnement, la mise à jour de votre version de node résoudra le problème. Il suffit de faire la suite (OSX instructions):
npm uninstall -g phantomjs
npm cache clean -f
brew upgrade nodejs
rm -rf node_modules
npm install -g YOUR_GLOBAL_DEPENDENCIES
npm install
Edit: mise à jour des instructions pour s'assurer qu'il n'y a pas de dépendance globale à phantomjs
cela semble être un problème avec les versions phantom js runner et phantom js.
https://github.com/karma-runner/karma-phantomjs-launcher/issues/31
comment j'ai réglé mon problème..
//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
j'ai rencontré ce même problème. Le correctif est de régler manuellement le PHANTOMJS_BIN
variable pour pointer vers le chemin phantomjs correct. Karma launcher essaie de regarder le mauvais chemin défini par PHANTOMJS_BIN
.
Voici ce qui a fonctionné pour moi:
$ 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
tout est ok après.
j'ai frappé ce problème avec karma-phantomjs-launcher@1.0.0, où j'avais également installé phantomjs@2.1.3.
désinstaller les deux paquets et réinstaller phantomjs-prebuilt a corrigé le problème avec Karma-phantomjs-launcher:
npm -g remove phantomjs phantomjs-prebuilt
npm -g install phantomjs-prebuilt
je supprime tout mon dossier node_modules sous mon projet et j'exécute "npm install". Cela n'a régler mon problème.
process.env.PHANTOMJS_BIN = 'node_modules/karma-phantomjs-launcher/node_modules/.bin/phantomjs';
en haut. Je viens de réaliser que! J'ai fait remarquer, et il fonctionne
j'ai rencontré le même problème parfois. J'ai un gruntfile.js
et j'ai eu package.json
où j'ajoute explicitement phantomjs-prebuilt
comme la dépendance. Mais mon serveur de CI peut parfois exécuter grunt karma
en douceur alors que parfois il échoue à revendiquer No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable
.
donc j'ajoute un grunt task
PHANTOMJS_BIN
variable a été réglée avant les essais, puis a résolu le problème ennuyeux.
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
ainsi finalement le Gruntfile.js
ressemble à ceci:
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']);
j'ai résolu ce problème sur OSX: Supprimer et de créer le fichier karma.config.js
en utilisant sudo.
avait le même problème, a fait tout ci-dessus, pas de résultat vient de supprimer le dossier' Karma-phantomjs-launcher ' de global node_modules et de project local, appelé "installation npm" et tout va bien!
J'ai rencontré un problème comme celui-ci. Ce que j'ai fait, c'est installer les phantomjs globalement npm install -g phantomjs
. Puis est allé à l' karma-phantomjs-launcher
module de dossier et ouvert index.js
fichier. Puis je suis allé à l' phantomJSExePath
fonction et commenté le contenu précédent (pas sûr s'il est sûr de faire ce que j'ai fait). Puis j'ai placé
return 'C://Users/user/AppData/Roaming/npm/node_modules/phantomjs/lib/phantom/phantomjs.exe';
M'a évité de retaper l'export temporaire.
exécutez les commandes suivantes:
npm remove phantomjs -g
npm remove phantomjs
npm install phantomjs
une fois que vous avez fait cette installation:
vous obtiendrez un message comme ci-dessous:
Linking to global install at /usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
copier ce chemin et exécuter:
export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
fondamentalement ce qui se passe est: karma essaye de lancer le navigateur mais ne peut pas trouver sa bin. Une fois que vous exportez le chemin vers le bon chemin, elle s'exécute.