Ich bin heute mit SBT auf einen FEHLER gestoßen. Es kann am besten mit dem sbt sbt-version
Befehl angezeigt werden :
Am 29.05.17 ausführen:
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
Am 01.06.17 ausführen:
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
Keine Änderungen (die ich kenne) an meinem SBT- oder Java-Setup.
Irgendwelche Ideen, was dies verursachen könnte oder wie der Fehler behoben werden kann?
Vielen Dank!
infocmp
es einen Hex-Wert gibt, fürcolor#0x100
den jline.UnixTerminal nicht analysieren kann. Der Fehler wurde bereits behoben: github.com/jline/jline2/commit/…Antworten:
Ich habe das Paket gefunden, das dieses Problem verursacht :
ncurses
. Ich habe ein Downgradencurses
auf die Version durchgeführtncurses-6.0+20170429-1
(ich verwende Arch Linux) und SBT startet einwandfrei.Schritte für Arch Linux:
Schritte für Mac: Siehe https://github.com/jline/jline2/issues/281
Ich denke, dieses Problem wurde mit der ncurses-Version 20170506 eingeführt, siehe: http://invisible-island.net/ncurses/NEWS.html#index-t20170506
Ich habe ein Problem im SBT Issue Tracker eingereicht: https://github.com/sbt/sbt/issues/3240
Bearbeiten: SBT Version 0.13.16 enthält die Lösung für dieses Problem.
quelle
jline
. : DIch hatte das gleiche Problem, insbesondere wenn die
TERM
Umgebungsvariable auf eingestellt istxterm-256color
. Das Einstellen auf einen anderen Wert hat das Problem für mich behoben, zquelle
Sie können oben hinzufügen
export TERM=xterm-color
,/usr/share/sbt/bin/sbt
weil$HOME/.sbtconfig
veraltet ist.quelle
/usr/share/sbt/bin/sbt
ist sehr wahrscheinlich, dass die Dateisbt
von einem Paketmanager als Teil des Pakets installiert wird . Alle Änderungen an dieser Datei werden möglicherweise entfernt, wenn dassbt
Paket aktualisiert wird. Dies kann entweder für einen bestimmten Benutzer unsichtbar sein (wenn eine andere Person dassbt
Paket aktualisiert ) oder in einem Moment der Vergesslichkeit überschrieben werden.sbt
Befehl ist nur ein Skript. Es wird$HOME/.sbtconfig
ganz am Anfang geladen , also einfach gesagtWie @ user3113045 in der conf-Datei sagte, wird sbt funktionieren. In diesem Fall werden Ihre anderen Termbefehle weiterhin verwendet
xterm-256color
.quelle
export TERM=xterm-color
meine eingegeben~/.bashrc
und es funktioniert gut.which sbt
, um den Ordner zu finden, in den die Zeile eingefügt werden muss/usr/local/opt/[email protected]/bin/sbt
. Ich habe die ZeileEin Jahr verging ... jetzt ist es mir passiert.
Also, ncurses tat ändern und die entsprechenden sbt Teil war ... Ich denke , ... wahrscheinlich nur auf zufällige erraten Tests auf der Basis implementiert und Beobachtungen / Bugs und keine spec noch RFC. (Bisher ist sbt das einzige Programm mit diesem ncurses-Problem, das mir bekannt ist.)
Falls Sie sbt nicht einfach aktualisieren oder ncurses nicht herabstufen können , können Sie die Umgebungsvariable TERM wie in den anderen Antworten angegeben ändern.
triviale Lösung:
Wenn es sich bei Ihrem sbt-Skript um ein Bash-Skript handelt (höchstwahrscheinlich, es sei denn, Sie führen die .bat-Dateien von DOS aus).
Dann kann es ausreichen, diese Problemumgehung hinzuzufügen:
quelle
file /usr/bin/sbt
, mögen Sie vielleicht nutzen ,file -L `which sbt`
um sicherzustellen , dass der SBT , die auf dem Benutzerpfad wird geprüft , und dass alle symbolischen Links gefolgt sind.Wenn Sie können, ändern Sie die sbt-Version in build.properties auf höher. 13.16 Arbeit für mich.
quelle
Dies löste das Problem in meinem Fall (Linux-Benutzer):
Das ist alles und dann können Sie loslegen.
quelle
Ich kann keinen Kommentar schreiben, da meine Punktzahl zu niedrig ist, aber die Antwort von user3113045 hat funktioniert, als ich sie
export TERM=xterm-color
zu meiner.zshrc
Datei hinzugefügt habequelle
Ich habe dieses Problem festgestellt, als ich Activator verwende, der sbt intern verwendet. Ich benutze Ubuntu und dieser Fehler hat mich frustriert. Ich fing an, mich diesem Problem zu stellen, als ich lief
$ activator gen-idea (Werkzeug, das laut Intellij Vermächtnis ist)
Danach habe ich versucht, den gesamten Cache zu löschen, den dieses Tool generiert hat.
Ich habe die Verzeichnisse .ivy und .sbt aus meinem Home-Ordner gelöscht und den Aktivierungsbefehl cleanFiles compile ausgeführt, mit dem mein Problem behoben wurde.
quelle
Öffnen Sie für Ubuntu 20.04-Benutzer Ihr Terminal und führen Sie die folgenden CMDs aus
Ex:-
quelle