You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Purescript 0.12入门运行项目遇模块缺失错误求助

解决PureScript 0.12中找不到Control.Monad.Eff模块的问题

嘿,我来帮你搞定这个报错!你遇到的问题其实是PureScript 0.12版本的一个重大变更导致的——旧的Eff系统被完全重构,换成了新的Effect系统,原来的Control.Monad.Eff和Control.Monad.Eff.Console模块已经被移除了,所以才会出现找不到模块的错误。

下面是具体的修复步骤:

1. 更新项目依赖

pulp init生成的默认项目骨架可能还在使用旧版本的依赖,我们需要替换成适配0.12的新依赖:

  • 先卸载旧的依赖:
    bower uninstall purescript-eff purescript-console --save
    
  • 安装新的对应依赖:
    bower install purescript-effect purescript-console --save
    

2. 修改Main.purs的代码

打开项目里的src/Main.purs,把旧的导入语句和类型签名替换成新的:

原代码(旧版本):

module Main where

import Prelude

import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log)

main :: Eff (console :: CONSOLE) Unit
main = log "Hello, World!"

修改后的代码(适配0.12):

module Main where

import Prelude

import Effect (Effect)
import Effect.Console (log)

main :: Effect Unit
main = log "Hello, World!"

3. 重新运行项目

现在执行pulp run、pulp test或者pulp build,应该就能正常工作了!

补充说明一下:PureScript 0.12的Effect系统相比旧的Eff更简洁易用,后续写代码的时候记得用Effect相关模块代替原来的Eff模块哦。你的pulp 12.2.0版本是完全兼容PureScript 0.12的,这点不用担心。

内容的提问来源于stack exchange,提问作者Oleg Dmytriienko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:07:39