New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make process of updating Wasp nicer #616
Comments
A bit of pointers here: installer script we use to install wasp is here, in its own repo: https://github.com/wasp-lang/get-wasp . |
Some progress has been made on this front, so let's recap what we have and what we want! We upgraded installer script to enable installation of a specific Wasp version -> you can specify it with What all this means is that with installer script, already now we can easily switch wasp versions as we need -> you type So, users can actually easily switch versions now, which is good, because we also added it so that projects specify which Wasp version they need. Let's now revisit what we want to have in general regarding requirements:
I think that is about it. Some examples of stuff like this are In our case, the requirement (1) is already achievable with the installer script as it is now. But it is not so easy to use, you need to put in that long command each time, it is hard to remember it, and also to even figure out that you can use it that way (we do have error message that tells you to use it if you are using wrong version of Wasp for the project though, so that helps). Some ideas how to approach this:
Maybe best hybrid is something between So we have a couple of use cases / requirements, and a couple of methods, and we could use mix of these methods, so this is what it makes it a bit hard to decide what to do! Any suggestions / ideas? |
I think there are two points we might bring at this point:
(1) If I follow your reasoning for But I think it's the role of a package manager. (2) If we think about compatibility, we might look for a mechanism used in rust which consists of setting rust's version in the project's configuration file. Either we keep the issue as it, which is simple, or we'll have to (re-)design to make it version-aware. If I have a last suggestion to make: |
Really good recap and analysis, @Martinsos. And kudos for adding the version installer script and being able to use the latest install, that is already really nice! I think you captured all the possible options I can think of for how it may work. I tend to like (2) since I like how I can do this with
Overall, I think we could get a lot of mileage out of |
@blackheaven you do make a good point about the implied semantics of |
Thanks @blackheaven and @shayneczyzewski -> all makes sense to me, I think what remains to figure out is if we will be using I will let this be for a moment though, since what we have right now already works, even if not super elegant, so we can come back to this in the future when we have enough time. |
@Zeko369 said he would love to have |
Right now, if users want to update Wasp CLI, they don't know how to update it!
We have no information about it.
Also, actual way to update Wasp is to run installer again, with
curl -sSL https://get.wasp-lang.dev/installer.sh | sh
, and then if you already have Wasp installed, it will tell you to run it a bit different to overwrite those files.What we should probably do is:
wasp help
. If we addwasp update
command, that could be enough already.wasp update
command into Wasp CLI that does the updating.It sounds best to have
wasp update
command, but I am not sure how to implement that in a nice fashion -> what if somebody makes debian package for installing Wasp? Thenwasp update
probably won't update it correctly, right? Maybewasp update
can check if files already exist -> if they do, it will update, but if they don't, it will warn you that it doesn't look like Wasp was installed via Wasp installer and that you should use the same mechanism you used for installing to also update.We should also provide them a way to update to specific version, in case they want to pick up new fixes / upgrades, but not change the major version.
This is related to #615 .
The text was updated successfully, but these errors were encountered: