gpt4 book ai didi

scala - 我真的希望 sbt 及其控制台在 cygwin 下以任何您认为可以完成的方式工作?

转载 作者:行者123 更新时间:2023-12-04 01:49:24 24 4
gpt4 key购买 nike

我有这个问题(https://github.com/sbt/sbt/issues/562)
基本上,当我尝试获取控制台时,它会说:

[ERROR] 构建终端失败;回退到不受支持的java.lang.IllegalArgumentException:无效的终端类型:jline.UnixTerminal

你也不能使用退格键

你基本上不能在 cygwin 中使用 sbt(在 dos 中很好,但 cygwin 是一个更好的环境)
并在那里表达了我的担忧

我已经尝试了几种我在网上找到的解决方法,但它们都是旧版本,现在没有用

只是想知道您是否知道任何解决方法?

谢谢

最佳答案

以下对我有用(大多数情况下,请参阅底部的注释):

  • 使用薄荷 shell 。我相信这是新 cygwin 安装的默认 shell,但作为替代方案已经包含了一段时间。如果您的 <cygwin home>\bin 中存在 mintty.exe文件夹然后就可以使用了,否则可以通过从 setup.exe 中选择典型的 cygwin 包来安装它。
  • 打开一个 mintty 窗口,右键单击任意位置,转到 Options... -> Keys ,并确保 Send Backspace as ^H被检查。这将允许 REPL 正确解释退格。

  • 只需要运行 Scala REPL 即可满足您的所有需求,但尝试运行 sbt console仍然可以产生该异常。要解决这个问题,请运行 sbt没有任何参数进入 sbt 提示。从那里执行:
    eval System.setProperty("jline.terminal", "scala.tools.jline.UnixTerminal")

    然后
    console

    或者,作为单个命令(两个分号都很重要):
    ; eval System.setProperty("jline.terminal", "scala.tools.jline.UnixTerminal") ; console

    据我所知,这至少部分是由 Scala REPL 和使用不兼容版本的 JLine 的 sbt 提示引起的。特别是,看起来 Scala REPL 围绕库创建了自己的包装器,并且正在使用它,而 sbt 则直接使用 JLine 库。

    笔记

    我继续遇到的一个限制是,即使 shell 窗口有更多的水平空间,REPL 也会在第 80 列换行。不仅如此,当 REPL 像这样换行时,它会覆盖同一行而不是前进到下一行,并且从历史记录中拉出长行最终会将光标推到您实际编辑的行上方。

    关于scala - 我真的希望 sbt 及其控制台在 cygwin 下以任何您认为可以完成的方式工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17124689/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com