Technically speaking, the message might more appropriately be "Error: executing module function 'setInfo' in module 'cordova/plugin/ios/device'". I think we should actually print that.
Of course, we can infer a lot more about what's going on, based on the context. "cordova-js not available" captures the spirit of that contextual problem, but ... is not terribly helpful. Perhaps a hint "Have you included the iOS version of the cordova-x.y.z.js file?" Presumably the native code can plugin the version part of the string. This would actually be a good place to validate the version, and platform (can we sniff it?) and throw specific messages there.
Lastly, if they don't have cordova loaded, then is console.log() even going to work? For iOS, what are our built-in, requires-no-natives options on notifying the user. alert() doesn't work here either, right? We could replace the body of their DOM with an error message, for instance.
This is just one instance of being able to report problems back to users - we should actually have some functions available like log() and fatalError() (the names I typically now use for apps), that will log errors in a consistent place, and log an error then kill itself, respectively. The error we've caught here would be a candidate for calling fatalError().
These functions should be rooted off Cordova. I'd suggest adding these TO Cordova, until Cordova gets too busy and then moving it to a logger property, or something.