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.


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


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!


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


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á.


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 ...


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.



-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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.