The Crystal Programming Language Forum

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
1 Like

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.

1 Like

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.