2002 Subaru Outback

I can’t figure out why my check engine light is always on. I have ran the code and it comes up the EVAP system. I have replaced the CAT both o2 Sensors, and the charcoal filter. and the light is still on.

and another thing, Sometimes My dome light will not shut off, I have to shut it off manually and when my dome light is turned off then the lights don’t flash when I arm and disarm the security system. I don’t understand