Ubuntu + scala REPL,命令未在控制台上键入

Ubuntu + scala REPL, Commands not typed on console

我正在使用 Ubuntu 18.04 + Scala 2.11.12(OpenJDK 64 位服务器虚拟机,Java 1.8.0_162)。

一旦我打开 scala shell,我就看不到我键入的任何内容。它被输入了。

下面是当我在控制台输入 println("Hello, world!") 时发生的情况:

$ scala 
Welcome to Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 1.8.0_162).
Type in expressions for evaluation. Or try :help.

scala> Hello, world!

scala>

关于我们如何度过难关有什么想法吗?

以下内容对我有用。

  1. 开始sbt
  2. 通过 sbt 打开 scala 控制台。

    ~$ sbt
        [info] Loading project definition from /home/abhay/project
        [info] Set current project to abhay (in build file:/home/abhay/)
        [warn] sbt server could not start because there's another instance of sbt running on this build.
        [warn] Running multiple instances is unsupported
        sbt:abhay> console
        [info] Starting scala interpreter...
        Welcome to Scala 2.12.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_161).
        Type in expressions for evaluation. Or try :help.
        scala> printf("Hello, Abhay!"); 
        Hello, Abhay!
        scala>
    

这对我现在有用。

我很确定这是一些环境问题。还有其他人面临类似的情况吗?

~阿拜

解决当前 scala repl 会话中的问题 运行:

import sys.process._
"reset" !

要解决此问题,请完全删除 scala 并使用 dpkg(而不是 apt)安装它:

sudo apt-get remove scala-library scala
sudo wget www.scala-lang.org/files/archive/scala-2.11.12.deb
sudo dpkg -i scala-2.11.12.deb

这对我有用!

Ubuntu 步: 1. 前往 /usr/share/sbt/bin 2. 打开文件 "sbt" 3. 在“#!/bin/sh”

正下方添加 "export TERM=xterm-color"

OS X 步: 1. 前往 /usr/local/bin/ 2. 打开文件 "sbt" 3. 在“#!/bin/sh”

正下方添加 "export TERM=xterm-color"

安装 SBT:

echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt

然后在命令提示符下键入 sbt

然后键入 console

一切顺利。

测试: 输入:printf("Hello Scala")

干杯!!!

如上所述的 scala 2.11.12 在启动 REPL 之前抛出一些错误,这在 scala 2 中得到了注意。12.x 而是删除 Scala 并使用 dpkg 安装最新的 scala 包

sudo apt-get remove scala-library scala
sudo wget www.scala-lang.org/files/archive/scala-2.12.8.deb
sudo dpkg -i scala-2.12.8.deb

这似乎是 JLine2 使用 JDK9+ 构建但在 JSK8 上使用时的问题。

JLine 是一个 Java 库,用于处理控制台输入。

只需通过 dpkg 下载并安装:

https://launchpad.net/~lokkju/+archive/ubuntu/java-compat/+build/16458066/+files/libjline2-java_2.14.6-1ubuntu1~bionicppa1_all.deb