Closed cielavenir closed 9 months ago
@straight-shoota I'm just having this issue from installing 1.11.1 package
$ sudo apt upgrade
The following packages have been kept back:
crystal1.11
I'm stuck with 1.11.0 package.
That's a different issue, though. Not sure what's happening there. But it should work if you uninstall and install again?
@straight-shoota I get this.
root@bullseye:/etc/apt/sources.list.d# apt install crystal
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
crystal1.11 : Conflicts: crystal
E: Unable to correct problems, you have held broken packages.
I don't want to break my current environment and I needed to prepare a VM (though vagrant made it easy), please understand that.
It also means that https://crystal-lang.org/install/on_debian/ 's sudo apt install crystal
does not work anymore.
Yeah, that's https://github.com/crystal-lang/distribution-scripts/issues/264 Should be fixed shortly (waiting for the build to finish...).
oh, may I ask a question? what happens to crystal1.11 package when crystal 1.12 is out?
maybe adding Conflict: crystal1.11
to crystal1.12 satisfies apt, but adding all versions to Conflict might not scale.
crystal1.11 has Conflicts: crystal (<< 1.11)
and crystal1.12 will have Conflicts: crystal (<< 1.12)
.
it should work, thank you
Unfortunately, I think this is currently not feasible. We're just repackaging the generic upstream package. This does not allow us to customize the backed-in path to stdlib (
$ORIGIN/../share/crystal/src
). But of course we would need different versions of the standard library at different locations. Maybe there could be some kind of hack to put the entire package (binary and stdlib source) into a versioned path. I'm not sure.Anyway, we're currently working on building the compiler for each package separately because that will enable using the interpreter. After that is done, we may come back to this as it should be much easier then.
I'm wondering about the use case though. What's your use case for having multiple versions installed?