Macos Mac OS X 10.11的Haskell阴谋问题?(无法满足-包id)

Macos Mac OS X 10.11的Haskell阴谋问题?(无法满足-包id),macos,haskell,osx-elcapitan,Macos,Haskell,Osx Elcapitan,我在MacOSX10.11上为ElCapitan使用了最新的Haskell平台7.10.2-a() 当我试图用cabal install yesod安装yesod时,我收到多条错误消息,例如: Building email-validate-2.1.3... Building http-api-data-0.2.1... Building fast-logger-2.4.1... Building http-date-0.0.6.1... Failed to install crypto-ran

我在MacOSX10.11上为ElCapitan使用了最新的Haskell平台7.10.2-a()

当我试图用
cabal install yesod
安装
yesod
时,我收到多条错误消息,例如:

Building email-validate-2.1.3...
Building http-api-data-0.2.1...
Building fast-logger-2.4.1...
Building http-date-0.0.6.1...
Failed to install crypto-random-0.0.9
Build log ( /Users/smcho/.cabal/logs/crypto-random-0.0.9.log ):
Configuring crypto-random-0.0.9...
Building crypto-random-0.0.9...
Preprocessing library crypto-random-0.0.9...
<command line>: cannot satisfy -package-id vector-0.11.0.0-730f99979d41c11c3a1ef069844b5f57
    (use -v for more information)
Failed to install email-validate-2.1.3
Build log ( /Users/smcho/.cabal/logs/email-validate-2.1.3.log ):
Configuring email-validate-2.1.3...
然而,安装ATOPASSERC库似乎没有问题

smcho@macho ~> cabal install attoparsec
Resolving dependencies...
All the requested packages are already installed:
attoparsec-0.13.0.1
Use --reinstall if you want to reinstall anyway.

可能有什么问题

这可能会引起争议,但随着信息技术的出现,哈斯克尔平台和阴谋集团(直接使用时)现在基本上都被弃用了

堆栈将:

  • 自动为您安装haskell(
    堆栈设置
  • 自动沙盒(并在项目之间智能共享沙盒)
  • 完全避免阴谋集团的地狱(以我的经验)

  • 这可能是有争议的,但哈斯凯尔平台和阴谋集团(直接使用时)现在基本上都被弃用了

    堆栈将:

  • 自动为您安装haskell(
    堆栈设置
  • 自动沙盒(并在项目之间智能共享沙盒)
  • 完全避免阴谋集团的地狱(以我的经验)

  • 我可以从brew安装YesSOD

    卸载haskell plaftorm
    • /Library/Haskell/bin/通过7.10.2卸载hs
    安装ghc
    • brew安装ghc
      • brew链接ghc
    安装堆垛机
    • brew安装haskell堆栈
    安装Yesod
    • stack install yessod
    • stack install yesod bin
    使用野草
      • stack runghc hello world.hs
    使用Yesod进行开发
    • 我不确定,但我必须先运行
      stack exec-yesod-build
    • stack exec yesod-devel
    是的,凯特
    • 删除config/keter.yaml中的第一行
    • stack exec yesod keter
      ,您将在dist/bin中获得一个二进制文件,其中包含大多数需要运行的文件
    • 作为独立服务器执行二进制文件
    我可以从brew安装YesSOD

    卸载haskell plaftorm
    • /Library/Haskell/bin/通过7.10.2卸载hs
    安装ghc
    • brew安装ghc
      • brew链接ghc
    安装堆垛机
    • brew安装haskell堆栈
    安装Yesod
    • stack install yessod
    • stack install yesod bin
    使用野草
      • stack runghc hello world.hs
    使用Yesod进行开发
    • 我不确定,但我必须先运行
      stack exec-yesod-build
    • stack exec yesod-devel
    是的,凯特
    • 删除config/keter.yaml中的第一行
    • stack exec yesod keter
      ,您将在dist/bin中获得一个二进制文件,其中包含大多数需要运行的文件
    • 作为独立服务器执行二进制文件
    根据建议,您看到的
    无法满足-package id
    错误可能是由于缓存过期造成的

    如果运行
    ghc pkg check
    警告您缓存已过期,则运行
    ghc pkg recache
    可能会解决您的问题

    整个上午我都遇到了
    无法满足-package id
    问题(不是yesod,而是其他各种包)<代码>ghc pkg recache解决了我的问题。希望这能有所帮助。

    正如所建议的,您看到的
    无法满足-package id
    错误可能是由于缓存过期造成的

    如果运行
    ghc pkg check
    警告您缓存已过期,则运行
    ghc pkg recache
    可能会解决您的问题


    整个上午我都遇到了
    无法满足-package id
    问题(不是yesod,而是其他各种包)<代码>ghc pkg recache解决了我的问题。希望这有帮助。

    我建议两件事:a)放弃haskell平台,只需通过
    brew
    安装即可。b) 使用stack(age)。我建议两件事:a)放弃haskell平台,通过
    brew
    安装。b) 使用stack(年龄)。你在回答中把Stackage和stack混为一谈了。它们是不同但相关的东西。你在回答中混淆了堆叠和堆叠。它们是不同但相关的东西。
    smcho@macho ~> cabal install attoparsec
    Resolving dependencies...
    All the requested packages are already installed:
    attoparsec-0.13.0.1
    Use --reinstall if you want to reinstall anyway.