升级DrRacket8.10到8.18版本@Ubuntu24.04

升级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 according
  to Unix conventions.  A "racket-uninstall" script will be generated
  to 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 is
  often more convenient, especially if you want to install multiple
  versions or keep it in your home directory.
Enter yes/no (default: no) > yes

Where do you want to base your installation of Racket v8.18?
  (If you've done such an installation in the past, either
   enter 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.
> 1

Target 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

搞定!

相关推荐
IDC02_FEIYA7 分钟前
Discuz论坛管理员怎么重置修改用户密码?
运维·服务器
九河云32 分钟前
华为云ECS与Flexus云服务器X实例:差异解析与选型指南
大数据·运维·服务器·网络·人工智能·华为云
kaoa00037 分钟前
Linux入门攻坚——53、drbd - Distribute Replicated Block Device,分布式复制块设备-2
linux·运维·服务器
007tg39 分钟前
Telegram SCRM 系统构建指南:自动化营销与客户管理实战
大数据·运维·自动化
King's King40 分钟前
自动化化WMS和WCS投标模板
运维·自动化
ajax_beijing1 小时前
华为云ELB
运维·服务器·华为云
落羽的落羽1 小时前
【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化
linux·c++·人工智能·学习·机器学习·c++20·c++40周年
RisunJan1 小时前
Linux命令-e2label命令(设置第二扩展文件系统的卷标)
linux·运维·服务器
Claire_ccat1 小时前
2025山西省网络安全职业技能大赛PWN方向题解
linux·安全·网络安全·pwn·栈溢出
小苏兮1 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节