38 votes

Ubuntu + scala REPL, commandes non saisies sur la console

J'utilise Ubuntu 18.04 + Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 1.8.0_162).

Une fois que j'ouvre le shell scala, je ne suis pas en mesure de voir ce que je tape. Pourtant, tout est tapé.

Voici comment cela se passe lorsque je tape println("Hello, world!") à la console :

$ 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>

Des idées sur la façon dont on peut passer ?

0 votes

La solution suivante à un problème différent a résolu ce problème pour moi : stackoverflow.com/a/44361749/2449365 . Je ne suis pas sûr de savoir si et comment les problèmes sont liés, mais peut-être que cela aidera à faire la lumière sur le problème.

70voto

mgershen Points 588

Pour corriger le problème dans la session scala repl actuelle, exécutez :

import sys.process._
"reset" !

Pour résoudre le problème, supprimez complètement scala et installez-le avec dpkg (pas avec 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

0 votes

Oh, laissez-moi essayer ça... :)

1 votes

Cool, ça marche pour moi ! ... Je suppose que c'était un problème de configuration de scala avec le groupe système et l'utilisateur système, scala. Merci beaucoup !

1 votes

Bien. ce processus donne aussi au REPL des couleurs fantaisistes ! v important

19voto

Abhay Dandekar Points 11

La chose suivante fonctionne pour moi.

  1. Démarrer sbt
  2. Ouvrir une console scala via sbt.

    ~$ 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>

Cela fonctionne pour moi pour le moment.

Je suis presque sûr que c'est un problème d'environnement. Quelqu'un d'autre a été confronté à quelque chose de similaire ?

~Abhay

0 votes

Merci beaucoup d'avoir posté ce message. J'ai rencontré le même problème et je n'arrive pas à comprendre pourquoi cela se produit. Une recherche sur Google m'a conduit à votre message et je vous félicite de l'avoir publié car je me demandais pourquoi cela avait cessé de fonctionner après la mise à jour. Et même une réinstallation complète n'aide pas.

0 votes

Je suis heureux que cela ait été utile... :) ... au cas où vous trouveriez un moyen de le faire fonctionner sans sbt, n'hésitez pas à le partager. Merci

1 votes

Cela fonctionne pour moi, mais curieusement, une fois que j'ai fermé la console, le problème décrit à l'origine revient, c'est-à-dire que je ne peux pas voir ce que je tape.

11voto

Rahul Khanna Points 107

Scala 2.11.12 comme décrit ci-dessus lance une erreur avant que le REPL ne soit lancé, ce qui est pris en charge dans scala 2.12.x. Supprimez plutôt Scala et installez le dernier paquet scala avec dpkg.

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

2 votes

C'est la solution la plus propre à mon avis. Je voudrais seulement ajouter qu'il y a quelques heures, les paquets deb et rpm pour la version 2.13.0 de Scala ont été mis à la disposition du public. Par conséquent, à moins que vous n'ayez une raison spécifique d'installer la version 2.12.x, je suggère que tout le monde passe directement à la version 2.13.0 avec sudo wget www.scala-lang.org/files/archive/scala-2.13.0.deb etc.

1voto

Oscar Drai Points 11

Cela a marché pour moi !

Étapes d'Ubuntu : 1. Allez dans /usr/share/sbt/bin 2. Ouvrez le fichier "sbt". 3. Ajoutez "export TERM=xterm-color" juste en dessous de "#!/bin/sh".

Étapes de l'OS X : 1. Allez dans /usr/local/bin/ 2. Ouvrez le fichier "sbt". 3. Ajoutez "export TERM=xterm-color" juste en dessous de "#!/bin/sh".

1voto

pkm Points 56

Installez le 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

Puis tapez sbt sur l'invite de commande : enter image description here

Puis tapez console enter image description here

C'est bon.

Test : type : printf("Hello Scala")

enter image description here

Santé ! !!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X