当前位置: 首页 > news >正文

升级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 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

搞定!

http://www.dtcms.com/a/353886.html

相关文章:

  • GitLab 导入/导出仓库
  • 金融 IT 运维痛点突围:用网络管理工具筑牢业务稳定防线(附 OpManager Plus 实践)
  • 【51单片机按键按下数码管秒增计时并LED亮释放停计时LED熄】2022-11-12
  • Android -第二十一次技术总结
  • 使用LLAMA_cpp_python进行qwen2.5-vl-7b-instruct进行推理
  • 【URP】Unity Shader Tags
  • IT66122替代IT66121-富利威
  • Day12 Gin框架学习
  • .NET周刊【8月第3期 2025-08-17】
  • 【C#】获取不重复的编码(递增,非GUID)
  • (LeetCode 面试经典 150 题) 102. 二叉树的层序遍历(广度优先搜索bfs)
  • Miniforge3替代Anaconda的一些经验总结
  • STL库——vector(类模拟实现)
  • 旧物二手回收小程序系统:让闲置旧物焕发新生,创造无限价值
  • Leetcode 深度优先搜索 (14)
  • 胶水研究记录学习1
  • 回顾websocket心跳机制以及断线重连(服务端为node)
  • 数据结构——抽象数据类型(ADT)
  • 浏览器渲染帧管线全景拆解:从像素到屏幕的 16.67 ms 之旅
  • Linux内核bitmap组件详解
  • 给Ubuntu添加新用户
  • MyBatis 之关联查询(一对一、一对多及多对多实现)
  • Ansible Playbook 概述与实践案例(下)
  • 基于muduo库的图床云共享存储项目(二)
  • STM32 之串口WIFI应用--基于RTOS的环境
  • AlphaFold 2 本地部署与安装教程(Linux)
  • ICCV 2025 | 清华IEDA提出GUAVA,单图创建可驱动的上半身3D化身!实时、高效,还能捕捉细腻的面部表情和手势。
  • 【51单片机】【protues仿真】基于51单片机篮球计时计分器数码管系统
  • 什么是代理ip?代理ip的运作机制
  • C++ 中 ::(作用域解析运算符)的用途