Running karma after installation results in 'karma' is not recognized as an internal or external command

node.jsTerminalKarma Runner

node.js Problem Overview


I'm trying to run karma as part as an angular-seed project, after installing karma using

npm install -g karma

I get:

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

when i'm trying to run test.bat from angular-client\scripts, the content of this file is:

> set BASE_DIR=%~dp0 > >karma start "%BASE_DIR%..\config\karma.conf.js" %*

I also tried to navigate to "\AppData\Roaming\npm\node_modules\karma\bin" and saw karma file, when I'm trying to run it I get again:

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

Any suggestions? If not please suggest how to use jasmine without karma.

Thanks.

node.js Solutions


Solution 1 - node.js

The command line interface is in a separate package.

To install this use:

> npm install -g karma-cli

Solution 2 - node.js

karma-cli

It is recommended to install karma with its Command-Line-Interface (karma-cli) which will take care of fetching the appropriate karma. You can also install a different local version specific to each project you're working on and karma-cli will pick the appropriate one.

From the karma installation page:

Typing ./node_modules/karma/bin/karma start sucks so you might find it useful to install karma-cli globally:

npm install -g karma-cli

Now, check that karma was installed by typing:

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

and check that karma server is working (ctr+c to quit):

karma start 

You can also check that karma was installed by going to this directory:

cd /usr/local/lib/node_modules/karma

Good luck!

Solution 3 - node.js

On windows when you install a npm (non-globally - so without the -g flag), the executable commands are linked in the node_modules\.bin folder.

For example:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

Solution 4 - node.js

I had the same issue and fixed it by correcting my PATH environment variable.

STEP 1: go to the following path and ensure karma.cmd is present at the location given below

[Nodejs folder path]\node_modules\.bin <=> C:\Program Files\nodejs\node_modules\.bin

STEP 2: If present go to STEP 3, If not present run the following command npm install -g karma

STEP 3: Open environment variables and edit PATH

STEP 4: Add the following at the end :

[Nodejs folder path]\node_modules\.bin; <=> "C:\Program Files\nodejs\node_modules\.bin"

Log out your session and it will work for sure.

Solution 5 - node.js

Based upon your directory using \AppData\Roaming, you're on Windows and this error is usually because the path to the npm globals isn't in the Windows PATH or NODE_PATH environment variables.

Use SET to check the values you are using for the paths and if your npm directory isn't listed, that will be the issue.

If you don't want npm to save to this directory, check the npm configuration options and the npm folders docs to see what you can change in this regard...

Solution 6 - node.js

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

If the above mentioned solution does not work, than The cause of issue is previous version of nodejs. So uninstall the previous version of nodejs and re-install the latest version. It will resolve your issue. As I faced the same and by doing above changes it worked for me.

Thanks.

Solution 7 - node.js

Official documentation at https://karma-runner.github.io/0.12/intro/installation.html is confusing. It implies that npm install -g karma-cli is to install karma globally but it actually required for to run karma from command line.

Solution 8 - node.js

I had same: 'karma' is not recognized as an internal or external command, operable program or batch file. problem when i tried to install it directly to my project file. When i used npm install -g karma-cli to global install everything worked just fine.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLiad LivnatView Question on Stackoverflow
Solution 1 - node.jsMrCheeseView Answer on Stackoverflow
Solution 2 - node.jsLior ElromView Answer on Stackoverflow
Solution 3 - node.jsAlexander WilliamsonView Answer on Stackoverflow
Solution 4 - node.jsajaysinghdav10dView Answer on Stackoverflow
Solution 5 - node.jsMatthew BakaitisView Answer on Stackoverflow
Solution 6 - node.jsNehaView Answer on Stackoverflow
Solution 7 - node.jsMaksoodView Answer on Stackoverflow
Solution 8 - node.jsuser8082924View Answer on Stackoverflow