Fixing obsolete Karma test framework
Somewhere along the line, I did some software update on my MacBook machine that broke the Karma tests for an AngularJS 1.x application. I don’t know when this happened. I haven’t done work on this project on any computer except on my work desktop in a long, long time.
However, with Covid-19 and the work-from-home regimen, I need to make this work on the MacBook.
When I’d run the tests, I’d get a lovely crash:
27 03 2020 14:35:38.395:ERROR [reporter]: Can not load reporter "junit", it is not registered! Â Perhaps you are missing some plugin? 27 03 2020 14:35:38.473:INFO [karma]: Karma v2.0.5 server started at http://0.0.0.0:9876/ 27 03 2020 14:35:38.474:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 27 03 2020 14:35:38.475:ERROR [karma]: { inspect: [Function: inspect] }
Naturally, the first thing I’d do is make sure I’d installed the correct plugin: npm install karma-junit-reporter --save
… Node happily reinstalled the plugin, and nothing changed. The source of the issue turned out to be a conflict between the project-installed karma-cli and bits and bobs of an old global install.
I had to clean up the globally-installed stuff that was lurking in /usr/local/bin
and /usr/local/lib/node_modules
(which is to say, deleted /usr/local/lib/node_modules/karma
, /usr/local/lib/node_modules/karma-jasmine
, and /usr/local/lib/node_modules/jasmine
) leaving everything in the local project install with the exception of karma-cli
, which is still globally installed.
Leave a Reply