-
Notifications
You must be signed in to change notification settings - Fork 374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dependency conflict for yesod-platform-1.2.10 #742
Comments
Just curious -- what if you install alex, happy, and yesod-platform altogether in one invocation? |
Installing them in one invocation does work:
Unfortunately, requiring these three packages to be installed in one invocation complicates automatic deployment of Yesod web applications. |
I guess my next question is then why does yesod-platform not just specify happy/alex as dependencies so that |
As above, |
Ah, I see. Apologies for missing that. |
No problem. I have now updated the issue description to improve clarity. |
What happens if you follow the recommended invocation from the quickstart guide:
|
When starting with
|
What I mean is: after installing happy and alex, what happens if you use the normal invocation? |
Then, depending on the value of |
In that case, I'm not sure what else we can do in the Yesod world for this. |
In general, why not keep the constraints in |
Because the goal of yesod-platform is to give a stable set of packages known to work together. It's merely an issue of timing: we don't want to have yesod-platform changing too rapidly, and I'm not able to produce and test a new version every time a dependency bumps. That said, I don't know a problem with making a new release of yesod-platform now, it seems like a good time to do so. |
OK, I've released a new yesod-platform. |
Just out of curiosity, why isn't |
@darthdeus This came up on the mailing list very recently. @gregwebs reminded me that, if we had placed yesod-platform in the dependencies, it would require installing all of those packages, even if the scaffolded site itself only needs a subset of them. |
Thanks. I do have one question: Why is This is not a big deal, but it does mean that a sandbox prepared for |
Where do you see that dependency? cipher-des isn't a direct dependency of yesod, and I get a build plan on my system that doesn't include cipher-des:
|
Right. Sorry, I should have answered my own question by looking at the constraints in The answer is: |
Installing
alex
andhappy
is required to installyesod-platform
.yesod-platform-1.2.10
conflicts with one of the dependencies pulled in byalex-3.1.3
andhappy-1.19.3
.Unfortunately, it is not possible to specify
alex
andhappy
as dependencies inyesod-platform.cabal
, because Cabal does not manage executable-only packages properly:build-tools
causes Cabal to expect the executables to be installed, but not to install the packages. (cabal#220)build-depends
causes Cabal to install the packages, and to fail to recognise the packages have been installed. (cabal#779)To reproduce, start with
ghc-7.8.2
andcabal-install-1.20.0.1
:The text was updated successfully, but these errors were encountered: