macos - node - karma-jasmine
comando karma no encontrado cuando el karma ya está instalado (9)
Al actualizar de Karma 0.10 a 0.12, se elimina el enlace al ejecutable de karma.
Puedes recuperarlo con
cd node_modules/.bin
ln -s ../karma/bin/karma karma
Usé node.js para instalar karma. Mi primera prueba falló al ejecutar el siguiente comando en la Terminal:
npm install -g karma
Eso falló, así que decidí usar:
sudo npm install -g karma
Después de ingresar mi contraseña, pareció instalarse correctamente. Estoy pegando parte de la salida de la instalación, tal vez signifique algo para alguien y será relevante para mi pregunta. Después de todos los mensajes http npm esto es lo que veo:
> [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])
Luego, cuando intento ejecutar el siguiente comando para crear un archivo de configuración de karma con este comando:
karma init karma.config.js
este es el mensaje que se devuelve:
-bash: karma: command not found
He intentado el mismo comando con sudo antes, pero obtengo el mismo resultado.
¿Alguien tiene alguna idea de lo que está pasando? Cualquier ayuda es apreciada.
*¡Actualizar! Decidí consultar un archivo llamado: builderror.log ubicado en: /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
Esto es lo que muestra:
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
En su ~/.bash_profile
(o similar) modifique su PATH
para incluir binarios instalados npm:
export PATH="$PATH:/usr/local/share/npm/bin"
Tuve el mismo problema y encontré que esta solución requiere menos tiempo e impacto que la reinstalación completa del nodo.
EDITAR esto también ha funcionado para otros en bash_profile
export PATH="$PATH:/usr/local/lib/node_modules/karma/bin"
Intenta volver a instalar node.js. Hay muchas formas de instalarlo, pero recomiendo descargar desde nodejs.org
Si eso no funciona, puedes intentar reinstalar el karma.
No es necesario desinstalar completamente node.js
Sólo
sudo rm -rf /usr/local/lib/node_modules/npm/
Entonces
instalar node.js
Entonces
reinstalar el karma
Esto funcionó para mí.
Se recomienda instalar karma con su Command-Line-Interface ( karma-cli ) que se ocupará de buscar el karma apropiado. También puede instalar una versión local diferente específica para cada proyecto en el que esté trabajando y karma-cli elegirá la apropiada.
Desde la página de installation karma:
Escribir ./node_modules/karma/bin/karma start es una mierda, por lo que puede resultarle útil instalar karma-cli globalmente:
npm install -g karma-cli
Ahora, verifique que el karma fue instalado escribiendo:
karma start
También puede verificar que el karma se haya instalado yendo a este directorio:
cd /usr/local/lib/node_modules/karma
¡Buena suerte!
Solo ve a test.sh:
Buscar: $BASE_DIR/../node_modules/karma/bin/karma start $BASE_DIR/../config/karma.conf.js $*
Reemplace con: /usr/local/bin/karma start $BASE_DIR/../config/karma.conf.js $*
O bien: karma start $BASE_DIR/../config/karma.conf.js $*
Tuve que agregar export PATH="$PATH":/usr/local/lib/node_modules/npm/node_modules/karma/bin
después de instalar karma con sudo npm install karma
.
espero que esto ayude.
Yo también estaba enfrentando el mismo problema. Parece que el karma para la línea de comando es un paquete separado que puede ser instalado por
npm install -g karma-cli
mayankcpdixit dio la respuesta allí en respuesta a la pregunta original del OP, pero la pondré aquí de nuevo en caso de que alguien la pierda.
No es necesario desinstalar todo, y si tuviera que agregar manualmente un nuevo enlace de ruta para cada paquete npm que intento instalar, probablemente me pegaré un tiro.
npm install -g karma-cli
Auge. Ahora tiene líneas de comando de karma instaladas. Al igual que Grunt.
Editar: Por favor, no olvide mayankcpdixit a mayankcpdixit , él comentó directamente en la publicación original, pero en realidad no "respondió" la pregunta.