The 18-year-old striker has penned a two-year contract at Goodison Park.
"I've had to sacrifice a lot of things but it has been worth it to get the chance to play for Everton Football Club," Long told the Toffees' official website.
"I've got a lot of people to thank get for getting this far. The whole of the Everton academy have been so good to me. Hopefully I can make them proud."
Long has represented England at Under-16, Under-17 and Under-18 levels.