Anderson, 37, sustained the problem on the final day of the second Test and scans on Wednesday confirmed he won't be back in action until after the current tour.
"James Anderson has been ruled out of the remainder of the Test series against South Africa after sustaining a left rib injury in England's second Test victory at Newlands," an ECB statement said.