4 ms·
What's the mechanism for self-updating in place? Something more intelligent than just downloading and copying the file over itself? A running program itself is
by eatonphil 4y ago
What's the mechanism for self-updating in place? Something more intelligent than just downloading and copying the file over itself? A running program itself is a copy of the file on disk, I think. So that sounds fine. But this still depends on getting permissions right though I think. Also, does a binary always know where it lives (across Win/Mac/Linux)?
- cbarrick 4y agoDownload-and-copy is the way. A single binary CLI can just copy over itself and exec into the new version. You can preserve the permissions of the original file. With scripting-language CLIs, you either have to deal with the module install process or use an external packaging solution.
- silasb 4y agoThis works pretty good, but we've ran into issues where the downloaded file isn't code signed and then this becomes a big issue. AFAIK, if this is a public CLI then homebrew will codesign for you, if you are distributing a private CLI then you need to solve the code signing issue yourself. Not many blog posts on how to handle this...
- deleted 4y ago[deleted]