# Cabal Quickstart with HLS Pains

**URL:** <https://discourse.haskell.org/t/cabal-quickstart-with-hls-pains/6867>\
**Category:** Uncategorized\
**Created:** [July 6, 2023, 4:07pm UTC](https://discourse.haskell.org/t/cabal-quickstart-with-hls-pains/6867 "2023-07-06T16:07:25Z")\
**Posts on this page:** 2\
**Page:** 2

<div class="post-metadata">

**Author:** ![Lsmor](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lsmor/32/3302_2.png) [@Lsmor](https://discourse.haskell.org/u/Lsmor)\
**Post date:** [July 8, 2023, 7:41am UTC](https://discourse.haskell.org/t/cabal-quickstart-with-hls-pains/6867/21 "2023-07-08T07:41:42Z")

</div>

> [@seanhess](#):
>
> I just opened an issue with haskell-language-server about updating the error message
> 
> [Forgetting to add modules to cabal leads to confusing "Multi Cradle: No prefixes matched" error · Issue #3693 · haskell/haskell-language-server · GitHub](https://github.com/haskell/haskell-language-server/issues/3693)

Does this error happen if you have a `hie.yaml` file? I am checking in a local project to leave out some modules in the `.cabal` file and playing around with the `hie.yaml`. It seems I can reproduce your error only if I these both happend

- a) remove modules from cabal file
- b) remove component from `hie.yaml`

In case you wonder (since you are getting used to new tooling) the `hie.yaml` is sort of a configuration file for the language-server. It tells `hls` where are your components located.

---

<div class="post-metadata">

**Author:** ![glguy](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/glguy/32/3359_2.png) [@glguy](https://discourse.haskell.org/u/glguy)\
**Post date:** [July 10, 2023, 11:30pm UTC](https://discourse.haskell.org/t/cabal-quickstart-with-hls-pains/6867/22 "2023-07-10T23:30:59Z")

</div>

> [@hasufell](#):
>
> The reasoning behind this is that lots of people use different GHC versions in different projects and just because they install, say, a newer GHC, doesn’t necessarily mean they want it as default.

Your reasoning certainly holds for me.

I already understand how the TUI works, so the meaning of ✔✔ is currently obvious to me. I can imagine there are other users who don’t know what they’re going told. For that matter I’m guessing that the red ✗ means I haven’t installed something yet but I could, while the plain ✗ means there’s no package available for my platform, but I’ve never actually confirmed that.

I’m not sure if anything needs to be changed, but those are things that came to mind when I was reading this thread.

[Previous page](https://discourse.haskell.org/t/cabal-quickstart-with-hls-pains/6867.md?page=1)
