1. 23
  1.  

  2. 5

    one thing that annoys me when upgrading Racket is that all of a sudden I’ll be getting errors on my current projects because the version mismatch between the new Racket version and whatever version was used to generate the stuff in the “compiled” folders. Also, reinstalling every single package when I upgrade is a chore. I’m sure there might be an easier way, but damn when upgrading a language I don’t expect this kind of friction.

    If there is a version mismatch between what is in compiled and the current running runtime, then just recompile. Why can’t packages be installed in a way that multiple Racket versions can access, why are they siloed per version?

    1. 4
      read-compiled-linklet: version mismatch  expected: "7.9.0.3"  found: "7.8.0.6"  in: .../afile_rkt.zo
      

      Is this the error you are seeing? The 3480 issue might resolve your problem.

      https://github.com/racket/racket-lang-org/issues/110

      https://github.com/racket/racket/issues/3253

      https://github.com/racket/racket/issues/3480

      1. 1

        will check the bugs, thanks for the links.

      2. 4

        reinstalling every single package when I upgrade is a chore

        raco pkg migrate <previous-version-here> will automatically migrate your old packages to the new version.

        Re. re-compiling modules as needed, I think someone just needs to put in the time/effort to get that working. I don’t think there’s anything inherent to prevent it from working. In the mean time, you should be able to run raco setup after an upgrade to get it to re-compile all your stale packages (assuming you install your projects as packages).

        1. 2

          thanks @bogdan, as usual your content saves my day.