38

我正在使用 Ubuntu 18.04 + Scala 2.11.12(OpenJDK 64 位服务器 VM,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>

关于我们如何度过难关的任何想法?

4

6 回答 6

71

要解决当前 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
于 2018-07-31T12:55:33.120 回答
19

以下事情对我有用。

  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>
    

现在这对我有用。

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

~阿拜

于 2018-04-14T04:01:47.180 回答
11

如上所述的 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
于 2019-04-12T06:09:32.660 回答
1

这对我有用!

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"

于 2018-11-06T18:16:27.687 回答
1

安装 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 :在此处输入图像描述

然后输入控制台 在此处输入图像描述

很好走。

测试:类型:printf("Hello Scala")

在此处输入图像描述

干杯!!!

于 2019-03-16T14:54:06.547 回答
0

这似乎是 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

于 2020-04-20T09:14:23.633 回答