When I run shards install
I get this error about the crystal version:
Unable to satisfy the following requirements:
- `crystal (~> 0.35, >= 0.35.0)` required by `lucky 0.23.0+git.commit.2e84ec71ba86601b16af5ec354d103231854b657`
- `crystal (~> 0.35, >= 0.35.0)` required by `authentic 0.6.1`
- `crystal (~> 0.35, >= 0.35.0)` required by `carbon 0.1.2`
- `crystal (~> 0.35, >= 0.35.0)` required by `habitat 0.4.4`
- `crystal (< 1.0.0)` required by `dotenv 0.7.0`
- `crystal (~> 0.35, >= 0.35.0)` required by `lucky_flow 0.7.0`
- `crystal (< 1.0.0)` required by `jwt 1.4.2`
- `crystal (~> 0.35, >= 0.35.0)` required by `lucky_cli 0.23.1`
- `crystal (~> 0.35, >= 0.35.1)` required by `wordsmith 0.2.1`
Failed to resolve dependencies, try updating incompatible shards or use --ignore-crystal-version as a workaround if no update is available.
Now, to get around this, I know we can run shards install --ignore-crystal-version
. The issue I’m faced with is, the shards install
command comes from a script that gets ran when you generate a brand new Lucky project. So imagine a person brand new to both Lucky and Crystal. They generate a fresh app and run ./script/setup
, and it fails with this error.
I’m wondering how I can handle this before a new person gets to this issue. Do I go through all of our shards and bump the version on all of them to update from 0.35.0, to 0.35.1? Or do I create a new patch release on the one shard that drops the version requirement from 0.35.1
to 0.35.0
?
Also, 2 questions about the versions in shards…
- Would it be better if they were all
crystal: ~> 0.35.0
? Would that work? - If I update wordsmith to be
0.2.1.1
, and specify it as a dep using~> 0.2.0
, would that still update? or would I have to specify the dep as~> 0.2.0.0
? - Does the shards override file also handle crystal version?