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

搞定!

相关推荐
此生只爱蛋20 分钟前
【Linux】正/反向代理
linux·运维·服务器
qq_54702617927 分钟前
Linux 基础
linux·运维·arm开发
zfj32132 分钟前
sshd除了远程shell外还有哪些功能
linux·ssh·sftp·shell
废春啊39 分钟前
前端工程化
运维·服务器·前端
我只会发热42 分钟前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L1 小时前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器
保持低旋律节奏1 小时前
linux——进程状态
android·linux·php
zhuzewennamoamtf1 小时前
Linux I2C设备驱动
linux·运维·服务器
zhixingheyi_tian1 小时前
Linux 之 memory 碎片
linux
邂逅星河浪漫2 小时前
【域名解析+反向代理】配置与实现(步骤)-SwitchHosts-Nginx
linux·nginx·反向代理·域名解析·switchhosts