I had the evap code on my 01 Dakota some years back and I had several hoses that had starting to crack right where they are terminated. The code came back a second time later and the caused this time was a corroded fuel filler neck.
Also a common problem in the salt belt Northern states.