in reply to Burned by 'require'?
Looking at the documentation on require it seems to demand a library be included if it has not already been included. Since the library was included once in package B it will not be included again in package A.
You should be able to change the require to use and get the desired behavior.