programas - sbt parts
Error de SBT: "Error al construir terminal; volviendo a la falta de apoyo... " (7)
Encontré el paquete que causa este problema:
ncurses
.
Bajé
ncurses
a la versión
ncurses-6.0+20170429-1
(estoy usando Arch Linux) y SBT comienza bien.
Pasos para Arch Linux:
cd /var/cache/pacman/pkg
sudo pacman -U ncurses-6.0+20170429-1-x86_64.pkg.tar.xz # or some other older version
Pasos para Mac: consulte https://github.com/jline/jline2/issues/281
Creo que este problema se introdujo con la versión ncurses 20170506, consulte: 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.
Presenté un problema en el rastreador de problemas SBT: https://github.com/sbt/sbt/issues/3240
Editar: SBT versión 0.13.16 incluye la solución para este problema.
Hoy me he encontrado con un ERROR con SBT.
Se puede mostrar mejor con el
sbt sbt-version
:
Ejecutar el 29/05/17:
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
Ejecutar el 6/1/17:
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
No hay cambios (que yo sepa) en mi configuración SBT o Java.
¿Alguna idea sobre qué podría estar causando esto o cómo solucionar el error?
¡Gracias!
Enfrenté este problema cuando estoy usando un activador que usa sbt internamente. Estoy usando Ubuntu y este error me estaba frustrando. Empecé a enfrentar este problema cuando corrí
$ activator gen-idea (herramienta que según intellij es heredada)
Después de esto, intenté eliminar todo el caché que generó esta herramienta.
Eliminé los directorios .ivy y .sbt de mi carpeta de inicio y ejecuté el comando de compilación del activador cleanFiles que resolvió mi problema.
Pasó un año ... ahora me pasó a mí.
Entonces, ncurses cambió, y la parte sbt correspondiente fue ... supongo ... probablemente solo se implementó en base a pruebas adivinadas aleatorias y observaciones / errores y no a ninguna especificación ni RFC. (Hasta ahora, sbt es el único programa con este problema ncurses que conozco).
En caso de que no pueda simplemente actualizar sbt ni degradar ncurses , puede cambiar la variable de entorno TERM como se menciona en las otras respuestas.
solución trivial:
Si su script sbt es un script bash (lo más probable, a menos que ejecute los archivos .bat de DOS)
$ file /usr/bin/sbt
/usr/bin/sbt: Bourne-Again shell script, ASCII text executable
, entonces podría ser suficiente agregar esta solución alternativa:
TERM="${TERM/xterm-256color/xterm-color}"
Puede agregar
export TERM=xterm-color
a la parte superior de
/usr/share/sbt/bin/sbt
porque
$HOME/.sbtconfig
está en desuso.
Si puede, cambie la versión de sbt en build.properties a una superior. 13.16 trabaja para mí.
Tuve el mismo problema, especialmente cuando la variable de entorno
TERM
está configurada en
xterm-256color
.
Establecerlo en un valor diferente solucionó el problema para mí, por ejemplo
export TERM=xterm-color
sbt
comando
sbt
es solo un script.
Carga
$HOME/.sbtconfig
al principio, así que solo pon
export TERM=xterm-color
como @ user3113045 dijo en el archivo conf, sbt funcionará.
En ese caso, sus otros comandos de término seguirán utilizando
xterm-256color
.