Closed coatless closed 4 months ago
We're tracking auto-updates in #1837. You can find an early version of a beta update script for macOS here: https://gist.github.com/jmcphers/ee24cfc5fce0a65afd2902db5173dd2f
but note that it requests a PAT which is not necessary any longer since the repository is public. We'll use this issue to track adding an interim beta updater script (auto-updates will probably take a while to sort out).
I created a new update script for macOS here: https://gist.github.com/juliasilge/a74883871e98afe67b01cd9125b104c7
To use this, you will want to first download the update script and mark it executable (do this one time):
curl https://gist.githubusercontent.com/juliasilge/a74883871e98afe67b01cd9125b104c7/raw/14e447e9fa0aaa858050720f177ed011b059a115/update-positron.sh -o update-positron.sh
chmod u+x update-positron.sh
(Optionally, put the script somewhere on your $PATH
so you can run it from any directory.)
Then you can check for updates, download, and install via:
./update-positron.sh
I'll see if I can update the old Windows script we had (or convince Christophe to do it for me), and then get this into the wiki.
@juliasilge @jmcphers
Thanks for providing the update script
The problem with the two version of the script is that it does not compare versions (latest vs currently installed) so if I run it with the latest version already. It will still download and install the latest from GitHub release. It is hard though to actually check versions because inside /Applications/Positron.app/Contents/Info.plist
the version entries CFBundleShortVersionStrin
and CFBundleVersion
both refer to Code - OSS Version
and not positron itself.
Yep @MohamedElashri, but we probably will not make further improvements to this method of installation and instead focus on #1837.
Here are Windows options for getting latest version easily, and stay up to date with releases
Scoop have central buckets of manifest but also decentralized version. Positron is now available in this specific bucket (maintained by me) :
https://github.com/cderv/r-bucket#positron
# Add bucket (only need to do this once)
scoop bucket add r-bucket https://github.com/cderv/r-bucket.git
# install
scoop install positron
# update
scoop update positron
Once Positron will have more stable release, I'll probably do two manifest to have a
scoop update positron-daily
and the other one moving less often
https://learn.microsoft.com/en-us/windows/package-manager/
# install
winget install --id Posit.Positron
# upgrade
winget upgrade --id Posit.Positron
This is community maintained, with automated PR to the central manifest repository: https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Posit/Positron
Not available yet. We have it for Quarto and TinyTeX so if this is of interest @juliasilge I can help set this up. I will be better when there will be more stable version - Monthly release seems a good pace for it.
Thank you SO MUCH @cderv! We will wait on further updates for when we move to monthly prereleases.
I added this info to the wiki here: https://github.com/posit-dev/positron/wiki/Updating-Positron
Verified that the OSX script from Julia works. Will ask @jonvanausdeln to look at Windows.
I have issues with both the Windows methods:
Installing 'positron' (2024.07.0-81) [64bit] from 'r-bucket' bucket
Loading Positron-2024.07.0-81-Setup.exe from cache
Checking hash of Positron-2024.07.0-81-Setup.exe ... ok.
Extracting Positron-2024.07.0-81-Setup.exe ... ERROR Exit code was 1!
Failed to extract files from C:\Users\JonVanausdeln\scoop\apps\positron\2024.07.0-81\Positron-2024.07.0-81-Setup.exe.
Log file:
~\scoop\apps\positron\2024.07.0-81\innounp.log
Please try again or create a new issue by using the following link and paste your console output: https://github.com/cderv/r-bucket/issues/new?title=positron%402024.07.0-81%3a+decompress+error
_*note - I did try again as suggested_
* I manually installed an older version of Positron (2020.07.0-59) and tried to upgrade:
C:\Users\JonVanausdeln> scoop update positron ERROR 'positron' isn't installed.
I _assume_ this is because it wasn't originally installed with scoop
### Winget
* I did a clean install, and it installed a 2 day old version (2024.07.0-67) instead of current 2024.07.0-81. I checked the [central repository manifest](https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Posit/Positron), and it shows 20224.07.0-81 correctly.
* With a previous version of Positron installed (2024.0.7-59), I tried to upgrade
C:\Users\JonVanausdeln> winget upgrade --id Posit.Positron No available upgrade found. No newer package versions are available from the configured sources.
I'm guessing it is perhaps only checking the major/minor versions when deciding what is upgrade worthy?
My biggest concern is that the we haven't really spec'd out what is the right upgrade paths, etc. And all these disparate methods have different results, which could be very confusing to users.
Hmmmm, I agree that this will be confusing @jonvanausdeln. What would you suggest as a good next step? Some questions include:
Is a powershell script a better short term option because it's more clear what it does?
We don't want to spend a ton of energy on these temporary options since #1837 is the real feature here.
Let me try to add more context to all this as a regular windows user.
Extracting Positron-2024.07.0-81-Setup.exe ... ERROR Exit code was 1!
Issue will scoop will be dealt with. I'll fix that, and maybe we really need to wait for
I tried a first working version the other day, and I'll see if I can fix it with current behavior. Maybe the bundle have changed somehow.
I manually installed an older version of Positron (2020.07.0-59) and tried to upgrade:
Scoop can manage only version it has installed. You can't use the tool to update another externally installed version. That is not how it works. Scoop does user-own installation by default in its own folder structure.
I did a clean install, and it installed a 2 day old version (2024.07.0-67) instead of current 2024.07.0-81. I checked the central repository manifest, and it shows 20224.07.0-81 correctly. (...) I'm guessing it is perhaps only checking the major/minor versions when deciding what is upgrade worthy?
Regarding winget, the update to manifest for 2024.07.0-81 was merged only 3 hours ago. (https://github.com/microsoft/winget-pkgs/pull/163808). I don't know how winget gets its update from central repo, but the installation you tried was just happening right after they merged. Maybe there is a cache mechanism or something. Or just a schedule workflow to sync up the github repo with manifest to a central repo in different servers. I don't know. When I tried on my end right now, I get the correct version.
This is just a bad timing problem IMO.
In all case, they will be delay between Github release on this repo, and published version on those package manager repo.
My biggest concern is that the we haven't really spec'd out what is the right upgrade paths, etc. And all these disparate methods have different results, which could be very confusing to users.
Those are community contributed solution to package managers. The winget one, and the scoop one will still exists. As a regular windows user, this is quite useful to have those available.
Just remove the advice around scoop and winget altogether and not offer a Windows short term option
You can undocument them if you want, but in my opinion there has no real issue.
Is a powershell script a better short term option because it's more clear what it does?
Powershell script is not really best option IMO. It seems more artisanal to me than those existing solutions. I can still provide it, but installing a powershell module is quite advances, and those script currently don't check version. The version I had was very basic to install version on top of existing always. Not that efficient.
Issue will scoop will be dealt with.
FWIW I opened https://github.com/cderv/r-bucket/issues/29 to discuss it, but for now, no problem on my end. Not reproducible for me - this means both methods are working correctly for me (on windows hardware machine on Windows 11).
I don't think they should be removed from the doc, but you can say they are community maintained and issue should be reported in the corresponding repo.
@jonvanausdeln do you mind trying again for the scoop and winget installation methods?
Sure! I just tried both again and get the exact same results.
I also uploaded the log for scoop in https://github.com/cderv/r-bucket/issues/29
My winget cache must have updated.. a clean install now gets the latest -81 build
I looked to understand this cache thing for winget, and FYI the source are
> winget source list
Nom Argument Contenu explicite
-----------------------------------------------------------------------
msstore https://storeedgefd.dsx.mp.microsoft.com/v9.0 false
winget https://cdn.winget.microsoft.com/cache false
and there is a winget source update
command. I didn't find how often it was used to update.
For scoop, let's discuss in the other issue. Though, I did not have any other report. @juliasilge I am using Scoop myself for positron update and it is working fine !
I'm fine closing this issue, and adding to any documentation we have suggesting these methods for updating that they are not maintained by Posit and your results may vary.
Sounds good! I updated the language at https://github.com/posit-dev/positron/wiki/Updating-Positron#windows 🙌
With Betas now being built by a CRON job, the open beta participants are likely to be on outdated versions more quickly.
Would it be possible to either:
Though this will likely get better in the next few days when conda-forge and chocolatey gain recipes for positron. (Brew just got one about a day or two back.)