-
Notifications
You must be signed in to change notification settings - Fork 342
Cache clean #253
Comments
Force doesn't address this, YET. ;) |
Agreed though, this is a little different than clean |
the uninstall should be deleting the lib... assuming there is an uninstall |
Not sure if your comment is directed to me @rismoney ? The thing is, this isn't for an uninstall, I want to carry on with the install that got borked. Here's a real example of what happened this AM.. I told another dev to install EPSDevTools.Web. I wasn't there for all of this, so I'm kind of paraphrasing what happened:
So sometimes you get into this state of .. hmm... did all my dependencies properly install? Maybe I should just start trashing the new folders out of So then you say as a package maintainer... maybe I'm just better off calling IMHO, this is one of the bigger pain points I've run into choc. And don't get me wrong, I love Chocolatey, I just think that the user experience here could use some polishing -- principal of least surprise and all that ;0 So -- maybe to improve on this situation:
Just as a quick'n'dirty sample of what this could look like:
The characters are taken from the Mocha reporter -- unicode 2714 for succes and 2716 for fail,. (These can have problems displaying based on the shell you're in under Windows unfortunately IIRC)
Thoughts? |
+1000. Yeah, this current area is a pain point for all of us. |
I guess I wasn't clear. I wasn't really directing comments 😇 I think a fail install should call cuninst, and we should stop on the last successful dependency. Don't leave the unwinding to the end user. A cuninst will actually perform a delete of chocolatey.lib. In this scenario I might silent all stdout/stderr unless debug, and report a failed install has been unwound on package foo. Further investigation may be necessary. I am comparing it to an msi, that fails midway, and then the progress bar goes in reverse, and usually leaves 💩 in far worse places than my lib. love the emoji's btw. |
Yeah, the
I'm thinking of situations where it's undesirable to run an uninstaller. In the most extreme, consider Visual Studio was a dependency and took an hour to install. You definitely don't want to uninstall it as part of a rollback if it was a later dependency in the list that exploded. Also -- the docs should probably stress the scope of both |
cuninst would need an explicit item to be called on. The failed installs will move to a directory so someone can go inspect why they failed later. |
Ok, so yeah.. thinking on this some more -- I don't think that I think the best approach is to delete the last failed thing from Also, there's another contributing factor that is causing a bunch of confusion here. A co-worker got through like 18 of 20 packages in the mentioned From that experience, examining his console output and the
|
Be sure to look at #595 for perspective. |
--force --force-dependencies (or -fx) |
This is now linked up with chocolatey/choco#1124 so please follow from there. |
NPM (cache clean), Bower (cache-clean) and others have a facility for cleaning their local cache, either by package name, or for all packages.
I think this is an important feature to have in Chocolatey as well, because we're running into some scenarios where a package with a bunch of dependencies can fail halfway through. This usually involves me telling people to manually find their chocolately
lib
folder and start deleting stuff.It would be useful to issue a simple clean command to delete the package and all it's listed dependencies, so that a reinstall can be attempted without resorting to manually sifting through the package list. In our experience,
--force
doesn't really address this.The text was updated successfully, but these errors were encountered: