I wanted to leave this as my experience because this was a very hard answer to find online. I am from Venezuela and is almost impossible to renew my passport, but my wife and I are legal permanent residents (green card).
On Jan 15 we went on Princess cruise with just our green cards, no passports. We will try Royal next but from what the lady at port mentioned to me, you can in fact cruise with just your green card as long as is a closed loop. Only issue is you will not be able to do pre check in, you have to do the whole thing in person (it was just 10 minutes for us).
For anyone saying "what if an emergency" I have an answer. For us green card holders when flying to the US, CBP (custom border protection) only cares about our status so they only need our green cards. It is stated on the CBP website that a green card is sufficient to enter the US by land, air or sea (it is on their website just a google away)
During disembarkation my wife and I went through the same line as US Citizens as they already have your biometrics when they scanned our cards to get on the cruise.
For reference this was leaving from Galveston, 7 day cruise, ports of call: Roatan, Costa Maya and Cosumel