Executar karma após a instalação resulta em 'karma' não é reconhecido como um comando interno ou externo

108

Estou tentando executar o karma como parte de um projeto de semente angular , depois de instalar o karma usando

npm install -g karma

Eu recebo:

'karma' is not recognized as an internal or external command, operable program or batch file.

quando tento executar test.bat a partir do angular-client \ scripts, o conteúdo deste arquivo é:

definir BASE_DIR =% ~ dp0

karma start "% BASE_DIR% .. \ config \ karma.conf.js"% *

Também tentei navegar para "\ AppData \ Roaming \ npm \ node_modules \ karma \ bin" e vi o arquivo karma, quando tento executá-lo, recebo novamente:

'karma' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.

Alguma sugestão? Caso contrário, sugira como usar o jasmim sem carma.

Obrigado.

Liad Livnat
fonte
2
Tentenpm install karma -g
Siva Tumma
@lior karma é sinônimo de karma-runner, então ele foi mapeado automaticamente quando você editou.
Flexo
@Flexo, obrigado. Eu não sabia disso, mas acredito que também precisa ser específico de tag, como html incluirá html5 (talvez?) Ou mesmo html5-canvas
Lior Elrom

Respostas:

319

A interface da linha de comando está em um pacote separado.

Para instalar este uso:

npm install -g karma-cli

MrCheese
fonte
17
Cara, eles realmente não mantêm esses documentos atualizados: / karma-runner.github.io/0.8/intro/installation.html (já que 3 anos depois dessa resposta os documentos dizem npm install -g karma && karma startque não funciona).
Pare de caluniar Monica Cellio de
2
@sequoiamcdowell docs para Karma são versionados, você não verá nenhuma atualização para a versão antiga. Verifique os documentos da última versão karma-runner.github.io/0.12/intro/installation.html
pkozlowski.opensource
certifique-se de executá-lo como administrador
Jerry
1
Eu não posso acreditar que isso escapa pelas fendas
Cody
Passei pelo menos uma hora procurando uma solução. Achei que fosse um problema de estrutura .net. Esta solução funcionará mesmo quando você vir o erro de estrutura .net: "MSBUILD: erro MSB3428: Não foi possível carregar o componente Visual C ++" VCBuild.exe ". Para corrigir isso, 1) instale o .NET Framew ork 2.0 SDK, 2) instale o Microsoft Visual Studio 2005 ou 3) adicione a localização do componente ao caminho do sistema se ele estiver instalado em outro lugar. " Felizmente encontrei sua solução e carreguei o carma. Obrigado!
ThinkBonobo
17

karma-cli

Recomenda-se instalar o karma com sua interface de linha de comando ( karma-cli ), que se encarregará de buscar o karma apropriado. Você também pode instalar uma versão local diferente específica para cada projeto em que está trabalhando e o karma-cli escolherá a apropriada.

Na página de instalação do karma :

Digitar ./node_modules/karma/bin/karma start é uma droga, então você pode achar útil instalar o karma-cli globalmente:

npm install -g karma-cli

Agora, verifique se o karma foi instalado digitando:

which karma  //echo something like: /usr/local/bin/karma

e verifique se o servidor karma está funcionando (ctr + c para sair):

karma start 

Você também pode verificar se o karma foi instalado acessando este diretório:

cd /usr/local/lib/node_modules/karma

Boa sorte!

Lior Elrom
fonte
7

No Windows, quando você instala um npm (não globalmente - portanto, sem o -gsinalizador), os comandos executáveis ​​são vinculados à node_modules\.binpasta.

Por exemplo:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

Alexander Williamson
fonte
Eu estava recebendo permissões adicionais com base em erros ao fazer isso dessa forma, então tive que executar o arquivo cmd real .\node_modules\.bin\karma.cmd starte funcionou para mim
Nick Tallents,
6

Eu tive o mesmo problema e corrigi-lo corrigindo minha variável de ambiente PATH.

PASSO 1: vá para o seguinte caminho e certifique-se de que karma.cmd está presente no local fornecido abaixo

[Caminho da pasta Nodejs] \ node_modules \ .bin <=> C: \ Program Files \ nodejs \ node_modules \ .bin

PASSO 2: se presente, vá para o PASSO 3, se não estiver presente, execute o seguinte comando npm install -g karma

ETAPA 3: Abra as variáveis ​​de ambiente e edite o PATH

PASSO 4: adicione o seguinte no final:

[Caminho da pasta Nodejs] \ node_modules \ .bin; <=> "C: \ Arquivos de programas \ nodejs \ node_modules \ .bin"

Saia da sua sessão e com certeza funcionará.

ajaysinghdav10d
fonte
4

Com base em seu diretório usando \AppData\Roaming, você está no Windows e esse erro geralmente ocorre porque o caminho para os globais npm não está no Windows PATHou nas NODE_PATHvariáveis ​​de ambiente.

Use SETpara verificar os valores que você está usando para os caminhos e, se o diretório npm não estiver listado, esse será o problema.

Se você não quiser que o npm salve neste diretório, verifique as opções de configuração do npm e os documentos das pastas do npm para ver o que você pode alterar a esse respeito ...

Matthew Bakaitis
fonte
já tentei adicionar o npm ao caminho usando o seguinte comando "set PATH =" C: \ Users \ Liad \ AppData \ Roaming \ npm;% PATH% ", bem ainda nada, você pode me dizer onde está a localização exata de seu arquivo de execução de carma?
Liad Livnat
No meu sistema Windows, configurei o npm para usar C:\npm. Algumas das coisas que eu faço no Windows são no XP, que tem problemas de comprimento de caminho, então eu queria manter o caminho total o mais curto possível. Se você estiver no XP, isso pode ser um fator contribuinte ... e talvez também nas versões mais recentes do Windows (???).
Matthew Bakaitis
2

'karma' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.

Se a solução mencionada acima não funcionar, a causa do problema é a versão anterior do nodejs. Portanto, desinstale a versão anterior do nodejs e reinstale a versão mais recente. Isso resolverá seu problema. Como eu enfrentei o mesmo e ao fazer as mudanças acima, funcionou para mim.

Obrigado.

Neha
fonte
-1

Eu tive o mesmo: 'karma' is not recognized as an internal or external command, operable program or batch file.problema quando tentei instalar diretamente no meu arquivo de projeto. Quando eu costumava npm install -g karma-clifazer a instalação global, tudo funcionava bem.

user8082924
fonte