升級DrRacket8.10到8.18版本
安裝參考:在FreeBSD、Windows、Ubuntu24三種平臺下安裝Racket多范式編程語言_racket安裝-CSDN博客
Ubuntu24.04里面的版本是8.10,所以無法使用apt upgrade升級,最終是使用下載升級軟件,手工升級完成!
首先嘗試直接在軟件里升級,升級失敗
網站提示的升級方法
Running the Linux installer:
After downloading the installer file, run it with
? ??sh?racket-8.18-x86_64-linux-buster-cs.sh
to install, possibly adding?sudo?to the start of the command to install to a location that requires administrator access.
When upgrading:
To restore packages installed for a previous version of Racket, use DrRacket's?File?>?Package Manager?>?Copy from Version?or at a command line use?raco pkg migrate.
下載軟件
官網很慢,所以到到清華源下載8.18版本:Index of /installers
下載后執行
sudo sh racket-8.18-x86_64-linux-buster-cs.sh
執行交互很復雜:
sudo sh racket-8.18-x86_64-linux-buster-cs.sh
[sudo] skywalk 的密碼:
This program will extract and install Racket v8.18.Note: the required diskspace for this installation is 691M.Do you want a Unix-style distribution?In this distribution mode files go into different directories accordingto Unix conventions. A "racket-uninstall" script will be generatedto be used when you want to remove the installation. If you say 'no',the whole Racket directory is kept in a single installation directory(movable and erasable), possibly with external links into it -- this isoften more convenient, especially if you want to install multipleversions or keep it in your home directory.
Enter yes/no (default: no) > yesWhere do you want to base your installation of Racket v8.18?(If you've done such an installation in the past, eitherenter the same directory, or run 'racket-uninstall' manually.)1 - /usr/... [default]2 - /usr/local/...3 - ~/... (/root/...)4 - ./... (here)Or enter a different directory prefix to install in.
> 1Target Directories:[e] Executables /usr/bin (exists)[o] Libraries /usr/lib/racket (exists)[s] Shared files /usr/share/racket (exists)[c] Configuration /usr/etc/racket (will be created)[d] Documentation /usr/share/racket/doc (will be created)[a] .desktop files /usr/share/applications (exists)[m] Man Pages /usr/share/man (exists)[l] C Libraries /usr/lib (exists)[h] C headers /usr/include/racket (exists)[z] Compiled at lib? yes
Enter a letter to change an entry, or enter to continue.
> Checking the integrity of the binary archive... ok.
Unpacking into "/usr/racket-tmp-install" (Ctrl+C to abort)...
Done.
Moving bin -> /usr/bin
Overwrite file "/usr/bin/drracket"?[y]es / yes to [a]ll / [n]o=abort > a
Moving collects -> /usr/share/racket/collects
Moving share/pkgs -> /usr/share/racket/pkgs
Moving doc -> /usr/share/racket/doc
Moving lib -> /usr/lib/racket
Moving include -> /usr/include/racket
Moving share/applications -> /usr/share/applications
Moving share -> /usr/share/racket
Moving etc -> /usr/etc/racket
Moving man -> /usr/share/man
Moving README -> /usr/share/racket/doc/README
Writing uninstaller at: /usr/bin/racket-uninstall...
Rewriting configuration file at: /usr/etc/racket/config.rktd...
Moving "compiled" in /usr/share/racket/collects to /usr/lib/racket/compiled/usr/share/racket/collects
Moving "compiled" in /usr/share/racket/pkgs to /usr/lib/racket/compiled/usr/share/racket/pkgs
Rewriting configuration file at: /usr/etc/racket/config.rktd...Installation complete.
說實話,這個交互,真的很繁瑣!
升級安裝完成!
啟動DrRacket
調試
升級后drracket啟動報錯
drracket?
loading code: version mismatch
? expected: "8.18"
? found: "8.10"
? in: /usr/lib/racket/compiled/usr/share/racket/pkgs/drracket/drracket/private/compiled/drracket-normal_rkt.zo
? possible solution: running `racket -y`, `raco make`, or `raco setup`
? context...:
? ?body of "/usr/share/racket/pkgs/drracket-core-lib/drracket/drracket.rkt"
執行
sudo raco setup
搞定!