更新 mtl 后找不到模块“Control.Monad.State”

2024-04-28

我想用Control.Monad.Except模块,但结果发现我有一个过时的 mtl 包(它导致了导入错误 - 我有一个过时的模块Control.Monad.Error)。所以我做了

sudo cabal install mtl

并且安装了2.2.2版本。但是,现在我安装了两个版本,2.1.2 和 2.2.2,仍然导致导入错误。我按照指示操​​作here https://stackoverflow.com/a/10587933/2266261 and did

sudo ghc-pkg unregister --force mtl-2.1.2

删除旧版本。但现在我得到一个错误:

Could not find module `Control.Monad.State'
It is a member of the hidden package `monads-tf-0.1.0.2'.
Use -v to see a list of the files searched for.

ghc-pkg check outputs

There are problems in package HTTP-4000.2.17:
  dependency "mtl-2.1.2-735d9c92b4f214d454fb5168bb1eb6ee" doesn't exist
There are problems in package fgl-5.5.0.1:
  dependency "mtl-2.1.2-735d9c92b4f214d454fb5168bb1eb6ee" doesn't exist
There are problems in package cgi-3001.1.8.5:
  dependency "mtl-2.1.2-735d9c92b4f214d454fb5168bb1eb6ee" doesn't exist
There are problems in package parsec-3.1.3:
  dependency "mtl-2.1.2-735d9c92b4f214d454fb5168bb1eb6ee" doesn't exist
There are problems in package regex-base-0.93.2:
  dependency "mtl-2.1.2-735d9c92b4f214d454fb5168bb1eb6ee" doesn't exist

The following packages are broken, either because they have a problem
listed above, or because they depend on a broken package.
HTTP-4000.2.17
fgl-5.5.0.1
cgi-3001.1.8.5
parsec-3.1.3
regex-base-0.93.2
network-2.4.1.2
regex-compat-0.95.1
regex-posix-0.95.2

我现在应该怎么做?


需要重新安装所有依赖的包mtl让他们及时了解新版本。 Cabal-install 应该能够自动执行此操作,如果在您的项目文件夹中包含yourproject.cabal文件,你做


$ cabal install --dependencies-only  

正如丹尼尔所说,可能还需要添加--reinstall,即如果 Cabal-install 没有正确捕获依赖项更改,并且需要手动勾选以重建它们。如果它认为重新安装本身可能会破坏其他软件包,--force-reinstalls可能也需要。

避免依赖地狱的另一种方法是使用新的 Nix 风格命令 https://www.haskell.org/cabal/users-guide/nix-local-build-overview.html,重新安装时不会破坏任何东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新 mtl 后找不到模块“Control.Monad.State” 的相关文章

  • 在 Haskell 中提升 State monad 中的值

    我正在 Haskell 中编写一个数独生成器 求解器作为学习练习 My solve函数接受一个UArray但返回一个State Int UArray 这样它也可以返回解决问题时发现的最大难度级别 到目前为止 这是我的功能 仍处于实验性的早期
  • 如何在 Haskell 中获得列表的中间位置?

    我刚刚开始使用 Haskel 学习函数式编程 我正在慢慢度过Erik Meijer 在 Channel 9 的讲座 http channel9 msdn com shows Going Deep Lecture Series Erik Me
  • GHC 可以为 monad 转换器派生 Functor 和 Applicative 实例吗?

    我正在尝试实施MaybeT本着mtl图书馆 使用这个非编译解决方案 LANGUAGE FlexibleInstances MultiParamTypeClasses UndecidableInstances import Control M
  • 显示未定义的实例

    可以采取任何措施来为未定义的值定义 Show 实例吗 也许存在一些 GHC 扩展 我想要这样的东西 gt print 1 undefined 1 undefined 根据Haskell 2010 报告 第 9 章 http www hask
  • 将系统命令的结果绑定到 Haskell 中的变量

    如何在 Haskell 中运行系统命令and将其结果 即标准输出 绑定到变量 在伪 Haskell 中 我正在寻找类似以下内容的内容 import System Process main do output lt callCommand e
  • 访问函数中的环境

    In main我可以读取我的配置文件 并将其提供为runReader somefunc myEnv正好 但somefunc不需要访问myEnv读者提供 链中的下一对也没有提供 需要 myEnv 中某些内容的函数是一个微小的叶函数 如何在不将
  • 如何让 Show 显示函数名称?

    作为一个让我熟悉 Haskell 的简单练习 在 Youtube 上闲逛并偶然进入美国倒计时游戏节目之后 我想为数字游戏制作一个求解器 你得到 6 个数字 需要将它们与 为了得到给定的结果 到目前为止我所得到的是非常脑死亡的 let ope
  • 为什么 Parsec 的 sepBy 停止并且不解析所有元素?

    我正在尝试解析一些逗号分隔的字符串 该字符串可能包含也可能不包含具有图像尺寸的字符串 例如 hello world 300x300 good bye world 我写了下面的小程序 import Text Parsec import qua
  • 如何从 haskell 中的 IOError 获取 errno?

    我在 haskell 平台上 GHC 6 12 1 作为 apt get 安装在 Debian Squeeze 上 鉴于我需要在与最初引发它的线程不同的线程上使用它 如何从 IOError 中获取底层 errno 我需要这个的原因是因为我正
  • Haskell 中的实例声明

    我有这两个功能 primes sieve 2 where sieve p xs p sieve x x lt xs x mod p gt 0 isPrime number number 1 null x x lt takeWhile x g
  • 如何手动推断表达式的类型

    给定 Haskell 函数 head filter fst 现在的问题是如何手动 手动 找到类型 如果我让 Haskell 告诉我我得到的类型 head filter fst Bool b gt Bool b 但我想了解仅使用所用函数的签名
  • Haskell 下划线与显式变量

    我已经学习 Haskell 几个星期了 我有一个关于下划线的使用的问题 作为函数参数 我认为用一个具体的例子来问我的问题会更好 假设我想定义一个函数 根据提供的索引提取列表的元素 是的 我意识到 已经是预先定义的 我可以定义该函数的两种方法
  • Haskell:是的,没有类型类。为什么是整数?

    我有一个关于 GHCi 如何假定整数类型的问题 我正在阅读 Learn you a Haskell 是 否类型的课程 如果您想阅读全文 这里有一个链接 http learnyouahaskell com making our own typ
  • “Eta减少”并不总是在Haskell中举行?

    我发现我可以说 LANGUAGE RankNTypes f1 forall b b gt b gt forall c c gt c f1 f id f HLint 告诉我我可以在这里做 Eta 减少 但是 f2 forall b b gt
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • 使用 FoldLine 解析多个块

    对于这个简化的问题 我试图解析一个如下所示的输入 foo bar baz quux woo hoo xyzzy glulx into foo bar baz quux woo hoo xyzzy glulx 我尝试过的代码如下 import
  • 简单 Haskell Monad - 随机数

    我正在尝试扩展代码这个帖子 https stackoverflow com questions 3944170 haskell and state 接受的答案 允许我能够基于以种子作为参数的函数 randomGen 调用 randomGen
  • Haskell Stack 从 github 安装包依赖项

    是否可以使用 Haskell 堆栈从 github 安装软件包的版本 例如在一个 cabal or a stack yaml文件 如何在 git repo branch revision 上指向依赖项 对于堆栈 The 的文档stack y
  • Haskell:Data.Numbers.Primes 库在哪里?

    我尝试导入 Data Numbers Primes import Data Numbers Primes 伦哈斯克尔给了我 5 hs 1 8 Could not find module Data Numbers Primes Use v t
  • 用于遇到 [...] 的 Haskell Parsec 解析器

    我正在尝试使用 Parsec 在 Haskell 中编写一个解析器 目前我有一个可以解析的程序 test x 1 2 3 end 执行此操作的代码如下 testParser do reserved test v lt identifier

随机推荐

  • 使用递归查找数组中的最大值

    对于我被要求解决的问题之一 我使用 for 循环找到了数组的最大值 所以我尝试使用递归来找到它 这就是我想到的 public static int findMax int a int head int last int max 0 if h
  • 数据包丢失和数据包重复

    我试图找出数据包丢失和数据包重复问题之间的区别 有谁知道 数据包重复 是什么意思 和TCP检测到丢失时重传数据包一样吗 No In TCP 数据包 的传递是可靠的 我认为在这种情况下术语数据应该更好 因为它是面向流的协议 数据包丢失和重复是
  • iOS 滑块默认缩略图的大小?

    iOS 滑块的 默认 缩略图的确切尺寸 宽度 高度 是多少 是否有一些聪明的方法可以将其从系统 XCode iOS 中引诱出来 I tried int thumbWidth slider currentThumbImage size wid
  • res.cookie未在浏览器中设置cookie

    我目前正在尝试使用 React 客户端设置 Node Express 应用程序以与之交互 我设置了护照来处理 JWT 身份验证 当用户登录时 我验证电子邮件 密码 然后我设置cookie res cookie jwt token httpO
  • ViewModel 中的 MediaElement.play()

    我正在努力解决以下问题 我正在使用 MVVM 模式构建 WP8 应用程序 我的 view xaml 中有一个媒体元素 并且在 viewmodel cs 中有控制该媒体元素的逻辑 例如 播放 停止 暂停和音量 如何使用绑定从我的视图模型在此媒
  • 表“DBNAME.hibernate_sequence”不存在

    我有一个使用 spring data jpa 的 Spring Boot 2 0 1 RELEASE 应用程序
  • 为什么express服务器接收到的前端数据是未定义的?

    我目前正在开发社交媒体 Mern Stack React 应用程序 我使用 Node js 和 Express 作为我的后端服务 还使用 mongoose 来存储我的数据 并使用 axios 和 redux thunk 将后端连接到前端 到
  • TFS 2008 在编辑时自动检出代码

    我正在开发一个已添加到 TFS 服务器的 Visual Studio 2008 项目 我不确定为 TFS 配置了哪些设置和策略 这是由单独的部门而不是开发人员完成的 每次我对代码文件进行编辑时 都会自动检出该文件 无需自己显式检出代码文件
  • Xamarin.Android 应用程序仅在干净编译时找到启动器活动

    我有一个Xamarin Android标记为 MainLauncher 的活动称为 Login 当我第一次按 F5 时 应用程序在模拟器中正常启动 然后我停下来 进行一些代码更改 再次按 F5 我可以看到应用程序在模拟器中启动 当我收到以下
  • 从目标中包含/排除整个组

    我的项目有一个包含数百个文件的组 组织成几十个两级子组 该组中的文件本身经常被更改 我希望这些文件包含在某些目标中 但不包含在其他目标中 在 Xcode 3 x 中 每次更改组后 我只需获取有关组本身的信息 转到 目标 选项卡 然后 重新
  • Android Studio - 无法识别的 VM 选项“MaxPermSize=256m”

    我刚刚在 Elementary OS 0 3 Freya 上安装了 Android Studio 并使用终端运行它 然而 在我第一次启动时 显示一条错误消息 Gradle 测试 项目刷新失败 无法启动守护进程 这个问题可能是由 守护进程的配
  • 在 vs code 中连接到 Azure Devops 私有 NuGet

    我们有一个私人NuGet喂养 它一直与Visual Studio 我们的开发人员通过他们的联系Azure帐户与私人提要 我想在迁移到 VS Code 时保留相同的功能 使用找到的文档here https learn microsoft co
  • 连接 2 个控制器并可以访问第二个控制器中的第一个控制器属性

    我对角镖有疑问 1 个用于触发作用域的 html 文件和 2 个控制器类 索引 html subCtrl 用户名 第一控制器 Controller selector mainController publishAs mainCtrl cla
  • 纹理openGl。 C++、qt

    我试图用草纹理覆盖我的地形 由高度图制成 但它没有按预期工作 我什至无法在简单的 GL QUAD 上获取纹理 结果是多色网络 void GLWidget initializeGL glEnable GL TEXTURE 2D 在 QGLwi
  • 实体框架中的级联更新

    我有以下涉及 2 个类的场景 public class Parent Key public int Id get set Other properties here public virtual IList
  • 在本地主机(Chrome 和 FF)上,过期时间少于 1 年时未设置 cookie

    我在本地主机上遇到问题 并且在Chrome and Firefox not Edge 这段代码可以正常工作 并且会设置 cookie HttpPost public ActionResult Change string val var co
  • Jprofiler Linux 上的远程分析。如何更改探查器数据文件的路径

    我正在 Linux 盒子上运行 java java 6 应用程序并进行其他设置 agentpath home myuser jprofiler bin linux x64 libjprofilerti so nowait 端口 7777 在
  • 基于另一个属性的地幔属性类别?

    如何使用 Github Mantle 根据同一类中的另一个属性来选择属性类 或者在更坏的情况下 JSON 对象的另一部分 例如 如果我有一个像这样的对象 content mention text some text created at 1
  • VS2012 单元测试:如何更改 TestResults 文件夹的位置

    我将所有单元测试项目都放在解决方案文件夹下的一个文件夹中 并且希望将 TestResults 文件夹放在与测试项目相同的文件夹中 而不是放在解决方案目录中 我发现这可以通过测试设置文件来完成 如何在VS 2010中指定单元测试结果的位置 h
  • 更新 mtl 后找不到模块“Control.Monad.State”

    我想用Control Monad Except模块 但结果发现我有一个过时的 mtl 包 它导致了导入错误 我有一个过时的模块Control Monad Error 所以我做了 sudo cabal install mtl 并且安装了2 2