Nice programing

SBT 오류 :“터미널을 구성하지 못했습니다.

nicepro 2020. 11. 12. 20:10
반응형

SBT 오류 :“터미널을 구성하지 못했습니다. 지원되지 않는 상태로 돌아가는 중…”


오늘 SBT에서 오류가 발생했습니다. 다음 sbt sbt-version명령으로 가장 잘 표시 할 수 있습니다 .

2017 년 5 월 29 일 실행 :

eric@linux-x2vq:~$ sbt sbt-version
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option 
MaxPermSize=256M; support was removed in 8.0
[info] Set current project to eric (in build file:/home/eric/)
[info] 0.13.13

2017 년 6 월 1 일 실행 :

eric@linux-x2vq:~$ sbt sbt-version
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option             
MaxPermSize=256M; support was removed in 8.0
[ERROR] Failed to construct terminal; falling back to unsupported
java.lang.NumberFormatException: For input string: "0x100"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at jline.internal.InfoCmp.parseInfoCmp(InfoCmp.java:59)
at jline.UnixTerminal.parseInfoCmp(UnixTerminal.java:233)
at jline.UnixTerminal.<init>(UnixTerminal.java:64)
at jline.UnixTerminal.<init>(UnixTerminal.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:209)
at jline.TerminalFactory.create(TerminalFactory.java:100)
at jline.TerminalFactory.get(TerminalFactory.java:184)
at jline.TerminalFactory.get(TerminalFactory.java:190)
at sbt.ConsoleLogger$.ansiSupported(ConsoleLogger.scala:123)
at sbt.ConsoleLogger$.<init>(ConsoleLogger.scala:117)
at sbt.ConsoleLogger$.<clinit>(ConsoleLogger.scala)
at sbt.GlobalLogging$.initial(GlobalLogging.scala:43)
at sbt.StandardMain$.initialGlobalLogging(Main.scala:64)
at sbt.StandardMain$.initialState(Main.scala:73)
at sbt.xMain.run(Main.scala:29)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:18)
at xsbt.boot.Boot$.runImpl(Boot.scala:41)
at xsbt.boot.Boot$.main(Boot.scala:17)
at xsbt.boot.Boot.main(Boot.scala)

[info] Set current project to eric (in build file:/home/eric/)
[info] 0.13.13

SBT 또는 Java 설정에 대한 변경 사항 (내가 알고있는)이 없습니다.

이 문제의 원인이 무엇인지 또는 오류를 수정하는 방법에 대한 아이디어가 있습니까?

감사합니다!


이 문제를 일으키는 패키지를 찾았습니다 : ncurses. 나는 ncurses버전으로 다운 그레이드 했고 ncurses-6.0+20170429-1(아치 리눅스를 사용하고있다) SBT는 잘 시작된다.

아치 리눅스를위한 단계 :

cd /var/cache/pacman/pkg
sudo pacman -U ncurses-6.0+20170429-1-x86_64.pkg.tar.xz # or some other older version

Mac 용 단계 : https://github.com/jline/jline2/issues/281 참조

이 문제는 ncurses 버전 20170506에서 도입되었다고 생각합니다. http://invisible-island.net/ncurses/NEWS.html#index-t20170506 참조

+ modify tic/infocmp display of numeric values to use hexadecimal when
      they are "close" to a power of two, making the result more readable.

I filed an issue on the SBT issue tracker: https://github.com/sbt/sbt/issues/3240

Edit: SBT version 0.13.16 includes the fix for this problem.


I had the same issue, especially when the TERM environment variable is set to xterm-256color. Setting it to a different value fixed the issue for me, e.g.

export TERM=xterm-color

You can add export TERM=xterm-color to the top of /usr/share/sbt/bin/sbt because $HOME/.sbtconfig is deprecated.


sbt command is just a script. It load $HOME/.sbtconfig at the very beginning, so just put

export TERM=xterm-color

as @user3113045 said in the conf file, sbt will work. In that case your other term commands will still use xterm-256color.


One year passed... now it happened to me.


So, ncurses did change, and the corresponding sbt part was ...I guess... probably only implemented based on random guessed tests and observations/bugs and not any spec nor RFC. (So far, sbt is the only program with this ncurses issue that I know of.)

In case you can't simply upgrade sbt nor downgrade ncurses, you could change the TERM environment variable as mentioned in the other answers.

trivial fix:

If your sbt script is some bash script (most likely, unless you run DOS' .bat files)

$ file /usr/bin/sbt
/usr/bin/sbt: Bourne-Again shell script, ASCII text executable

, then it might suffice to add this workaround:

TERM="${TERM/xterm-256color/xterm-color}"

If you can, change sbt version in build.properties to higher. 13.16 work for me.


I faced this issue when i am using activator which uses sbt internally. I am using Ubuntu and this error was frustrating me. I started facing this issue when i ran

$ activator gen-idea (tool which as per the intellij is legacy)

After this i tried to delete all the cache that this tool generated.

I deleted the .ivy and .sbt directories from my home folder and ran the activator cleanFiles compile command which resolved my issue.


I can't write a comment as my score is too low, but user3113045's answer worked when I added export TERM=xterm-color to my .zshrc file

참고URL : https://stackoverflow.com/questions/44317384/sbt-error-failed-to-construct-terminal-falling-back-to-unsupported

반응형