使用Stack构建简易Yesod项目时遇language-javascript-0.7.1.0包错误求助
解决language-javascript-0.7.1.0构建时的
hGetContents: invalid argument (invalid byte sequence)错误 这个错误多由系统字符编码配置异常导致,包读取文件时无法解析字节序列,可通过以下方法解决:
设置UTF-8环境变量
执行stack build前,先配置终端字符编码为UTF-8:export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8若在Docker环境中(错误日志前缀
#24提示可能为容器环境),可将这两行添加到Dockerfile,或启动容器时指定环境变量。升级language-javascript包版本
旧版本包可能存在编码处理缺陷,可在项目stack.yaml或package.yaml中指定更高稳定版本的依赖,比如将language-javascript >= 0.7.1.0调整为language-javascript >= 0.7.2.0,之后重新执行stack build。清理Stack缓存后重构
缓存损坏也可能引发该问题,执行以下命令清理缓存并强制重建:stack clean stack build --force-dirty
内容的提问来源于stack exchange,提问作者Desintegration Loops
相关产品推荐
相关产品推荐

