Schniz / fnm

๐Ÿš€ Fast and simple Node.js version manager, built in Rust
https://fnm.vercel.app
GNU General Public License v3.0
18.18k stars 464 forks source link

Provide `tar` file as releases #1061

Open zanminkian opened 1 year ago

zanminkian commented 1 year ago

Currently, the releases are zip files. zip files are not very friendly to linux system. I hope we can provide tar files as releases.

Schniz commented 1 year ago

The releases are generated from GitHub actions artifacts which are always zip (Microsoft choice I guess). They are indeed less convenient on Linux. Installing unzip is not hard and I donโ€™t plan on making my release process harder right now. Maybe in the future! Is there a special reason for this request?

zanminkian commented 1 year ago

Thanks for considering. It's not an urgent feature. For me, I have some docker images which have installed fnm. I want to decrease my docker image size by getting rid of unzip.

polarathene commented 12 months ago

I want to decrease my docker image size by getting rid of unzip.

Use a mult-stage build in Dockerfile. You can have a stage with unzip, that extracts the file and then COPY only that output from the unzip stage. It will not bloat the final image then ๐Ÿ‘

Another option is to use RUN --mount which can sometimes be useful to temporarily mount another image in a stage and run binaries from it only within that RUN layer. Due to the --mount those binaries (like unzip) would not be added into the RUN layer weight.