J'ai utilisé node.js pour installer le karma. Mon premier essai a échoué lors de l'exécution de la commande suivante sur le terminal:
npm install -g karma
Cela a échoué alors j'ai décidé d'utiliser:
Sudo npm install -g karma
Après avoir entré mon mot de passe, il semble s'installer correctement. Je colle une partie de la sortie de l'installation, cela signifiera peut-être quelque chose pour quelqu'un et ce sera pertinent pour ma question. Après tous les messages http npm, voici ce que je vois:
> [email protected] install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/bufferutil.node
SOLINK_MODULE(target) Release/bufferutil.node: Finished
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/validation.node
SOLINK_MODULE(target) Release/validation.node: Finished
/usr/local/share/npm/bin/karma -> /usr/local/share/npm/lib/node_modules/karma/bin/karma
[email protected] /usr/local/share/npm/lib/node_modules/karma
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected]
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected]
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected])
Ensuite, lorsque j'essaie d'exécuter la commande suivante pour créer un fichier de configuration karma avec cette commande:
karma init karma.config.js
c'est le message qui est renvoyé:
-bash: karma: command not found
J'ai essayé la même commande avec Sudo avant mais j'obtiens le même résultat.
Quelqu'un a-t-il une idée de ce qui se passe? Toute aide est appréciée.
*Mise à jour! J'ai décidé de vérifier un fichier nommé: builderror.log situé dans: /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
C'est ce que ça montre:
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/eperez/.node-gyp/0.10.5"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.node-gyp"
gyp http GET http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz
gyp http 200 http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz
@ mayankcpdixit a donné la réponse là-haut dans une réponse à la question originale de l'OP, mais je vais la remettre ici au cas où quelqu'un la manquerait.
Vous n'avez pas besoin de tout désinstaller, et si je devais ajouter manuellement un nouveau lien de chemin pour chaque paquet npm que j'essaie d'installer, je me tirerais probablement dessus.
npm install -g karma-cli
Boom. Vous avez maintenant installé les lignes de commande de karma. Tout comme Grunt.
Edit: N'oubliez pas de voter @ mayankcpdixit également, il a commenté directement le message d'origine, mais n'a pas réellement "répondu" à la question.
Dans votre ~/.bash_profile
(ou similaire) modifiez votre PATH
pour inclure les binaires installés par npm:
export PATH="$PATH:/usr/local/share/npm/bin"
J'ai eu ce même problème et j'ai trouvé cette solution moins longue et moins impactante que la réinstallation complète du nœud.
MODIFIER cela a également fonctionné pour d'autres dans bash_profile
export PATH="$PATH:/usr/local/lib/node_modules/karma/bin"
Il est recommandé d'installer le karma avec son interface de ligne de commande ( karma-cli ) qui se chargera de récupérer le karma approprié. Vous pouvez également installer une version locale différente spécifique à chaque projet sur lequel vous travaillez et karma-cli choisira la version appropriée.
Depuis la page karma installation :
Taper ./Node_modules/karma/bin/karma start craint donc vous pourriez trouver utile d'installer karma-cli globalement:
npm install -g karma-cli
Maintenant, vérifiez que le karma a été installé en tapant:
karma start
Vous pouvez également vérifier que karma a été installé en allant dans ce répertoire:
cd /usr/local/lib/node_modules/karma
Bonne chance!
Je devais ajouter export PATH="$PATH":/usr/local/lib/node_modules/npm/node_modules/karma/bin
après avoir installé le karma avec Sudo npm install karma
.
j'espère que cela t'aides.
Pas besoin de désinstaller complètement node.js
Juste
Sudo rm -rf /usr/local/lib/node_modules/npm/
Ensuite
installez node.js
Ensuite
réinstaller le karma
Cela a fonctionné pour moi.
J'étais également confronté au même problème. Il semble que le karma pour la ligne de commande soit un package distinct qui peut être installé par
npm install -g karma-cli
Allez simplement sur test.sh:
Trouver: $BASE_DIR/../node_modules/karma/bin/karma start $BASE_DIR/../config/karma.conf.js $*
Remplacer par: /usr/local/bin/karma start $BASE_DIR/../config/karma.conf.js $*
Ou: karma start $BASE_DIR/../config/karma.conf.js $*
Lors de la mise à niveau de Karma 0.10 vers 0.12, le lien vers l'exécutable karma est supprimé.
Vous pouvez le récupérer avec
cd node_modules/.bin
ln -s ../karma/bin/karma karma