Minor thing, but probably should not throw exception when no package found...
$pub global run den install logger
packageName: logger
Unhandled exception:
Uncaught Error: The null object does not have a getter 'versions'.
NoSuchMethodError: method not found: 'versions'
Receiver: null
Arguments: []
Stack Trace:
#0 Object._noSuchMethod (dart:core-patch/object_patch.dart:42)
#1 Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#2 fetchPrimaryVersion. (package:den_api/src/util.dart:33)
#3 _RootZone.runUnary (dart:async/zone.dart:1155)
#4 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:494)
#5 _Future._propagateToListeners (dart:async/future_impl.dart:577)
#6 _Future._completeWithValue (dart:async/future_impl.dart:368)
#7 _Future._asyncComplete. (dart:async/future_impl.dart:422)
#8 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)
#9 _asyncRunCallback (dart:async/schedule_microtask.dart:48)
#10 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#11 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:392)
#12 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:411)
#13 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:142)
#0 _rootHandleUncaughtError. (dart:async/zone.dart:886)
#1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)
#2 _asyncRunCallback (dart:async/schedule_microtask.dart:48)
#3 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#4 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:392)
#5 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:411)
#6 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:142)