Ionic emulate with live reload fails

Hi,

replay:

on a mac:

ionic start foo
cd foo
npm install --save-dev karma
echo “var Server = require(‘karma’).Server;” >> gulpfile.js
ionic emulate ios --target=“iPhone-6s” -slc

Output:

TypeError: Can't call method on  undefined
at TypeError (native)
at module.exports (/Users/hennebrueder/code/bahn/foo-ionic/node_modules/core-js/modules/_defined.js:3:28)
at createHTML (/Users/hennebrueder/code/bahn/foo-ionic/node_modules/core-js/modules/_string-html.js:7:19)
at bold (/Users/hennebrueder/code/bahn/foo-ionic/node_modules/core-js/modules/es6.string.bold.js:5:12)
at cb (/usr/local/lib/node_modules/ionic/node_modules/winston/lib/winston/logger.js:206:7)
at done (/usr/local/lib/node_modules/ionic/node_modules/async/lib/async.js:167:19)
at /usr/local/lib/node_modules/ionic/node_modules/async/lib/async.js:40:16
at /usr/local/lib/node_modules/ionic/node_modules/winston/lib/winston/logger.js:193:9
at Console.log (/usr/local/lib/node_modules/ionic/node_modules/winston/lib/winston/transports/console.js:127:3)
at emit (/usr/local/lib/node_modules/ionic/node_modules/winston/lib/winston/logger.js:186:17)
at /usr/local/lib/node_modules/ionic/node_modules/async/lib/async.js:157:13
at _each (/usr/local/lib/node_modules/ionic/node_modules/async/lib/async.js:57:9)
at Object.async.each (/usr/local/lib/node_modules/ionic/node_modules/async/lib/async.js:156:9)
at Logger.log (/usr/local/lib/node_modules/ionic/node_modules/winston/lib/winston/logger.js:214:9)
at target.(anonymous function) [as info] (/usr/local/lib/node_modules/ionic/node_modules/winston/lib/winston/common.js:54:18)
at Object.setupLiveReload (/usr/local/lib/node_modules/ionic/lib/utils/cordova.js:213:7)

The same thing happens to me on Ubuntu when trying to run on Android with live reload.

A solution is to load karma inside of the task (avoid loading it during ionic calls).

The reason is a library version problem which might be the cause for various live reloading error message as well.

gulp.task('test', function (done) {
var karma = require('karma').Server;

new Server({
	configFile: __dirname + '/karma.conf.js',
	singleRun: true
}, done).start();

});
1 Like