I'm not sure what the best solution will be for you. I think you can enable a 3rd-party repository that contains the most up-to-date version of yt-dlp.
It's been discussed in the Mint forums, but they block my VPN from accessing the site :)
https://forums.linuxmint.com/viewtopic.php?t=450307
https://forums.linuxmint.com/viewtopic.php?t=440928
If you are curious, this is how I use yt-dlp. Effort-post incoming, beware, and bare with me. It might seem complicated but I tried my best to simplify.
When I run echo $PATH on my system, I see this:
username@somepc:~$ echo $PATH
/var/home/username/.local/bin:/var/home/username/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin
Your PATH might look more like /home/username/.local/bin.
* If it does not include a /.local/bin, maybe send me your $PATH and I can recommend a substitution instead.
What this means, is that any EXECUTABLE inside these directories will be executed if typed from the command line.
So in order, you do this (yes, literally, $HOME, the terminal will convert that to your home directory):
python3 -m venv "$HOME/.local/yt-dlp-venv"(create a virtual space forpython3outside ofapt)source $HOME/.local/yt-dlp-venv/bin/activate(toggle the virtual space forpython3for the duration of the current terminal window)python3 -m pip install yt-dlp(installyt-dlpmodule inside the virtual space)
nano $HOME/.local/bin/yt-dlp, paste this inside:
#!/usr/bin/env bash
source $HOME/.local/yt-dlp-venv/bin/activate
pip install --upgrade yt-dlp
yt-dlp "$@"
You can use CTRL+O and CTRL+X to save and then quit.
chmod +x $HOME/.local/bin/yt-dlp(give yourself permission to eXecute the command)
Now any time you run yt-dlp from the terminal, it will search all of those directories inside $PATH until it finds yt-dlp. It will find your custom script, and correctly run the python venv's version of yt-dlp with any of the arguments you supplied.
If you noticed and are curious, yt-dlp inside of $HOME/.local/bin/yt-dlp doesn't cause an infinite loop of it calling itself over and over again. Why? Because when you do source $HOME/.local/yt-dlp-venv/bin/activate, it changes your $PATH!
(yt-dlp-venv) username@somepc:~$ echo $PATH
/var/home/username/.local/yt-dlp-venv/bin:/var/home/username/.local/bin:/var/home/username/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin
Because the real yt-dlp exists inside $HOME/.local/yt-dlp-venv/bin, it finds the executable first instead of the one inside $HOME/.local/bin