The 35-year-old is his country’s most-capped player, with 180 appearances for Spain since making his debut in March 2005.
Sources told ESPN that people close to Ramos had feared the news since last week.
The centre-back was injured on his last international appearance when he came on as an 86th minute substitute in Spain’s 3-1 World Cup qualifying victory over Kosovo in Seville on March 31.
Coach Luis Enrique faced criticism for that decision, with a perception that Ramos has been prioritising breaking the men’s all-time international appearance record of 184 caps held by Egypt‘s Ahmed Hassan.
The calf muscle problem Ramos picked up against Kosovo saw him miss a series of key games including both legs of Madrid’s Champions League quarterfinal with Liverpool and the first leg of their semifinal with Chelsea, returning for their 2-0 second leg defeat at Stamford Bridge.
He had also been absent from January until March after undergoing surgery on the meniscus of his right knee.
The injuries have come at the worst possible time for Ramos, who has been unable to demonstrate on the pitch that he deserves an improved contract offer from Madrid.
The club captain’s deal expires at the end of June and no agreement has been reached on an extension.