I note it is global and removing cacheable from the global method would impact subscriber code - that code may be using this via a wire, which requires the result to be cacheable. (I am assuming you have this code in a managed package of some form, hence the use of "global".)
I suggest you add a separate uncached method that invokes the same processing as the cacheable one. The second method can even directly call the first one since the cacheable annotation only impacts client communications:
@AuraEnabled(cacheable=true)
global static boolean packageNotExpired() {
/// my code;
}
@AuraEnabled
public static Boolean packageIsNotExpired() {
return ThisClass.packageNotExpired();
}
It is worth noting that the use of global access modifier should always be minimized.