So tea.xyz is out for just over a month now, and besides the massive growth in GitHub forks and stars, it has personally become my favorite dev tools.
When I talk about tea, some of my fellow developers, appear sceptical because they read web3 and blockchain on their website.
However, tea is a developer tools that for all we care about is a package manager.
Well, it's not just any package manager. It's the successor to Homebrew from the same creator, Max Howell.
I am so annoyed that package managers install software directly into machine's /usr/local
directory and mess up my system installs. That's why I need to resort to nvm
or rbenv
or pyenv
just to manage multiple versions of node
, ruby
and python
, respectively.
Enter tea.
tea installs everything to a single "relocatable" folder on your machine. When you run tea it will inject the required software package+version into your environment for only this instance and nothing more.
Demo
Let's say I want to download a YouTube video with youtube-dl
.
Install tea with one-liner
sh <(curl https://tea.xyz) # installs to "~/.tea"
# OR, install to different directory
TEA_PREFIX=(~/scratch/tea) sh <(curl https://tea.xyz)
Download YouTube video with youtube-dl
tea -X youtube-dl "https://www.youtube.com/watch?v=sAMrveIC0Hc"
# OR, written more explicitly
tea +youtube-dl.org youtube-dl "https://www.youtube.com/watch?v=sAMrveIC0Hc"
If not otherwise installed, youtube-dl
will not be available without the prefacing tea
command. This is magical.
What happened?
Well, if you take a look at the directory that tea
got installed to. tea
pulled in all required packages to run youtube-dl
.
$ ls ~/.tea
bytereef.org
charm.sh
gnu.org
invisible-island.net
libexpat.github.io
openssl.org
python.org
sourceware.org
sqlite.org
tea.xyz
tukaani.org
youtube-dl.org
zlib.net
These package will remain in ~/.tea
; however, they will never interfere with any of your system software. They are practically isolated in this directory on your machine. You can either remove individual packages or the folder entirely for a thorough uninstall of tea.
Next steps
There are some other cool features to tea. But the coolest is never having to worry about a package being installed, because it will just install by invoking tea
.
Check out the rest of the project on GitHub
Top comments (0)