我有这个问题(https://github.com/sbt/sbt/issues/562),基本上当我试图获得一个控制台时,它说:
[错误]无法构建终端; 回到unsupportedjava.lang.IllegalArgumentException:无效的终端类型:jline.UnixTerminal
你也不能使用退格键
你基本上不能在cygwin中使用sbt(在dos中很好,但是cygwin是一个更好的环境)并在那里表达了我的关注
我已经尝试了几种在网上找到的解决方法,但它们都是旧版本,现在没用
只是想知道你是否知道任何解决方法?
谢谢
hay*_*ikh 18
以下适用于我(大多数情况下,见底部注释):
<cygwin home>\bin
文件夹中存在mintty.exe ,则可以使用它,否则可以通过setup.exe中的典型cygwin软件包选项进行安装.Options...
- > Keys
,并确保Send Backspace as ^H
选中.这将允许REPL正确解释退格.只是运行Scala REPL应该是您所需要的,但尝试运行sbt console
仍然可以产生该异常.为了解决这个问题,请在sbt
没有任何参数的情况下运行以进入sbt提示符.从那里执行:
eval System.setProperty("jline.terminal", "scala.tools.jline.UnixTerminal")
Run Code Online (Sandbox Code Playgroud)
然后
console
Run Code Online (Sandbox Code Playgroud)
或者,作为单个命令(两个分号都很重要):
; eval System.setProperty("jline.terminal", "scala.tools.jline.UnixTerminal") ; console
Run Code Online (Sandbox Code Playgroud)
据我所知,这至少部分是由Scala REPL和使用不兼容版本的JLine的sbt提示引起的.特别是,看起来Scala REPL在库周围创建了自己的包装器,并且在sbt直接使用JLine库时正在使用它.
我继续遇到的一个限制是,即使shell窗口有更多的水平空间,REPL也会包含在第80列.不仅如此,但是当REPL像这样包裹时它会覆盖相同的行而不是前进到下一行,并且从历史中拉出长行最终会将光标推到您实际编辑的行上方.
归档时间: |
|
查看次数: |
2115 次 |
最近记录: |