@medvednikov been talking here about ways to make getting V even easier.
Our first thought or impression was simply to make it available with MacPorts (and maybe Homebrew), but that's a fairly macOS-centric solution (unless Linux Homebrew is incorporated). This, however, brought up the question: will version control like RVM ever be needed?
Being a compiled language I thought perhaps not, but then there has been some discussion about things and I suppose that there could be some library version management needed down the road...
Anyway, have you had any thoughts about this yet?
Just a simple installer of the most recent release would be probably pretty good for now, but it would be good to have this work for all operating systems if possible - so perhaps the package management tools as noted above could call a script or installer... and perhaps when the vBash stuff is ready it might make sense to write this in that.
v itself should be able to upgrade itself and manage dependencies, I'm not sure if it will be part of the v executable or separate but I don't think you should rely on an external system (homebere etc) sure you can use that to install it if you want. But it should have it's own updater I think
While I agree with @joe-conigliaro, this would be mostly useful in Windows world. IMO on Linux v will be installed in usual way - by package manager. It would be nice to have update options for situations when someones distro would ship old v version, but then it should never overwrite v installed from package. So maybe separate updating tool makes sense.
I can imagine something similar as rust have. For example on Void Linux You have 2 packages:
The key here seems to be convenient updates. There will become a point in time where V development stabilizes / calms down, but that is a good ways out. Therefore, we need to consider options that allow developers to stay up-to-date easily and rapidly...
The cool thing about v is compilation speed. That allows anyone to provide multiplatform "libraries" as code that you can just clone into your project. Of course you can always use compiled ones for the system but having them as code allows you to target nearly anything.
Sorry for the delay.
There's already a package for ArchLinux.
I'll work on the homebrew package soon.
The key here seems to be convenient updates.
Updates are now as simple as v up.
I think this issue can be closed now?
We can reopen for further discussion if needed. I still wonder if there will ever be a time when we're using V 1.5 down the road and suddenly realize we need V 1.4 and having the ability to have multiple versions of V with their own library versions (perhaps similar to how RVM handles Ruby versions + installed Gems) might be handy.
That could be as simple as renaming the existent v folder into v_version before installing a new version.
From: ylluminate [mailto:[email protected]]
Sent: Friday, December 13, 2019 9:29 PM
To: vlang/v v@noreply.github.com
Cc: ibalbaert ivo.balbaert@telenet.be; Comment comment@noreply.github.com
Subject: Re: [vlang/v] Version manager or straight compilation needed? (#919)
We can reopen for further discussion if needed. I still wonder if there will ever be a time when we're using V 1.5 down the road and suddenly realize we need V 1.4 and having the ability to have multiple versions of V with their own library versions (perhaps similar to how RVM handles Ruby versions + installed Gems) might be handy.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/vlang/v/issues/919?email_source=notifications&email_token=AAHLG7E7KPVLYEILD56DBL3QYPWAFA5CNFSM4H4XH7K2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG3FJTY#issuecomment-565597391 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHLG7DQCSP7DBZB5NN3LR3QYPWAFANCNFSM4H4XH7KQ . https://github.com/notifications/beacon/AAHLG7CN4FWXGBXU77UCR5DQYPWAFA5CNFSM4H4XH7K2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG3FJTY.gif
Most helpful comment
The cool thing about v is compilation speed. That allows anyone to provide multiplatform "libraries" as code that you can just clone into your project. Of course you can always use compiled ones for the system but having them as code allows you to target nearly anything.