Carton...rading(3pm)

πŸ’– Carton::Doc::Upgrading πŸ’–

okay bestie, gather round, because this is the Upgrading document for Carton::Doc::Upgrading and it's literally the glow-up guide you need. it's from the User Contributed Perl Documentation, and no cap, you're gonna want to read this before you yolo an upgrade 🌸


✨ UPGRADING ✨

so here's the tea πŸ«–: Carton is that friend who adds, changes, and deprecates features between major releases, and sometimes it does it in ways that are backward incompatible. rude? maybe. iconic? also yes πŸ’…

below is the list of the major changes between versions. if you want the full receipts, go peek at the "Changes" file, it's giving thorough πŸ“


πŸ¦‹ v0.9 to v1.0 πŸ¦‹

this is the big one, the main character era of upgrades:

  • "carton exec -Ilib" is deprecated β€” it's lowkey over, bestie 😭 you have to pass the optional include path to the perl interpreter the normal way, like this:
carton exec perl -Ilib myscript

or, alternatively, make your script take its own "-I" option, just like so many command line launchers already do (think plackup, prove, the whole squad):

carton exec plackup -Ilib myapp.psgi
  • "carton.lock" is now "cpanfile.snapshot" β€” not just a rename, the name and the file format changed. there is no automatic migration, so no magic wand πŸͺ„ but you can do this manually:
# run with Carton v0.9.64
> carton install

# upgrade to Carton v1.0
> cpanm Carton
> carton install
> git add cpanfile.snapshot
> git rm carton.lock

and the good news? this process will most likely preserve the modules in your local library πŸŽ€

  • cpanfile is now a requirement β€” periodt, it's mandatory now. and extracting requirements from build files ("Makefile.PL", "Build.PL") is not supported anymore. sorry babes, that ship has sailed β›΅

⚠️ heads up: the deprecations and the unsupported stuff above are for real. don't skip the migration steps and then act surprised, i'm begging πŸ™ˆ

perl v5.34.0 🌈 2022-05-12 🌈 and that's the Carton...rading(3pm) page, sourced from the User Contributed Perl Documentation. go forth and upgrade responsibly, you've got this πŸ’œβœ¨

πŸ“¦ where this page comes from