Handling the new dependency resolver

I was trying to update the Lucky website, and when running shards install, I get this error. I’m wonder how others are handling this?

Unable to satisfy the following requirements:
  - `crystal (~> 0.35, >= 0.35.0)` required by `lucky 0.23.0`
  - `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 (~> 0.35, >= 0.35.0)` required by `dexter 0.3.1`
  - `crystal (~> 0.33, >= 0.33.0)` required by `exception_page 0.1.4`
  - `crystal (~> 0.33, >= 0.33.0)` required by `cry 0.4.2`
  - `crystal (~> 0.22, >= 0.22.0)` required by `shell-table 0.9.2+git.commit.078a04ea58ead5203bb435a3b5fff448ddabaeea`
  - `crystal (~> 0.35, >= 0.35.0)` required by `lucky_router 0.3.0`
  - `crystal (~> 0.35, >= 0.35.0)` required by `avram 0.16.0`
  - `crystal (~> 0.26, >= 0.26.1)` required by `wordsmith 0.2.0`
  - `crystal (~> 0.35, >= 0.35.0)` required by `lucky_cli 0.23.0`
  - `crystal (~> 0.35, >= 0.35.0)` required by `lucky_flow 0.7.0`
  - `crystal (~> 0.34, >= 0.34.0)` required by `cadmium_transliterator 0.1.0+git.commit.6ee68d64869ade8f39d2ec16cae3c7b80d5a4805`
  - `crystal (~> 0.35, >= 0.35.0)` required by `markd 0.2.1+git.commit.620845abb6776d1765d20d86cc0220aa40f89a91`
  - `crystal (< 1.0.0)` required by `dotenv 0.7.0`
  - `crystal (< 1.0.0)` required by `blank 0.1.0`
  - `crystal (< 1.0.0)` required by `pg 0.21.1`
  - `crystal (~> 0.35, >= 0.35.0)` required by `teeplate 0.8.2`
  - `crystal (~> 0.35, >= 0.35.0)` required by `selenium 0.6.0`
  - `crystal (~> 0.35, >= 0.35.0)` required by `webdrivers 0.3.0`
  - `crystal (~> 0.25, >= 0.25.0)` required by `db 0.9.0`
  - `crystal (~> 0.34, >= 0.34.0)` required by `future 0.1.0`
  - `crystal (~> 0.35, >= 0.35.1)` required by `crystar 0.1.7`
  Failed to resolve dependencies

ah, thanks!

Is this running against crystal nightly? Otherwise I can’t see why this error would trigger.

Nope, crystal 0.35 on Github Actions: image: crystallang/crystal:0.35.0

OMG… there’s 2 containers… 1 specified the version, and the other didn’t … Ok, I see what you meant by nightly. :sweat_smile:

To be clear, crystallang/crystal:0.35.0 would be 0.35.0, and crystallang/crystal would be the latest release, i.e. 0.35.1. Nightlies are in their own dedicated image.

Ah, ok. That’s good to know.

So why did it fail? Did it run against nightly?

I’m not sure the version it ran against, but it was a combination of the 2 containers being different versions and then caching them. As well as cashing shards. I removed cache, and updated the versions and it all worked. Oh, and I also used the --ignore-crystal-version on my shards install.