36 votes

Obtenir "cat: /release: Aucun fichier ou dossier de ce type" lors de l'exécution de scala

J'ai essayé d'installer Scala 2.12.1 sur mon Mac (El Capitan) via Homebrew et aussi en téléchargeant les binaires depuis https://www.scala-lang.org/download/.

Dans les deux cas, chaque fois que j'exécute scala (ou scalac, scaladoc, etc) j'obtiens ceci imprimé à l'écran:

cat: /release: No such file or directory

L'action est cependant réussie. Par exemple, scala monscripte.scala fonctionne très bien, mais ce message d'erreur est affiché en premier.

Est-ce que quelqu'un a une idée de pourquoi cela se produit?

34voto

trianta2 Points 1587

Ouvrir bin/scala, il y a une ligne :

java_release="$(cat $JAVA_HOME/release | grep JAVA_VERSION)"

Mon $JAVA_HOME n'était pas défini. Tout est maintenant corrigé.

12 votes

C'est issues.scala-lang.org/browse/SI-10098. Rétrogradation dans Scala 2.12.1, la correction est déjà prévue pour 2.12.2 (qui sortira en février ou quelques temps après).

0 votes

J'ai rencontré ce problème après avoir commencé à utiliser jenv pour gérer les versions de Java. La solution la plus simple dans ce cas était d'activer le plugin d'export pour jenv via jenv enable-plugin export pour exporter automatiquement $JAVA_HOME.

20voto

NateH06 Points 912

Je voudrais ajouter ceci en commentaire mais je ne peux pas encore le faire en raison de mon statut de débutant. Pour corriger spécifiquement votre $JAVA_HOME - si vous êtes sur UNIX, vous pouvez copier-coller ceci dans votre Terminal :

export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

Remplacez le 1.8 par la version de Java avec laquelle vous travaillez actuellement.

2 votes

Merci! J'aurais dû mentionner cela dans ma réponse. J'ai mis cela dans mon ~/.profile pour plus de commodité.

0 votes

Sous Manjaro: export JAVA_HOME=/usr/lib/jvm/java-8-jdk

1voto

Fahad Points 152

Essayez de définir votre variable d'environnement JAVA_HOME. Dans mon cas, JAVA_HOME était déjà défini.

J'ai spécifiquement obtenu l'erreur suivante

cat: /usr/lib/jvm/java-8-openjdk-amd64/release: Aucun fichier ou dossier de ce type

Je l'ai résolu en créant un fichier vide release en lui

sudo touch $JAVA_HOME/release

Mon JAVA_HOME ressemble à

$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64`

C'est un hack, mais cela fonctionne très bien pour moi!

Il ne semble pas y avoir de problème particulier à le faire, même si vous regardez ce qui se passe avec ce fichier /release en exécutant scala; https://github.com/scala/scala/pull/5588/files.

Attention: Cette solution n'est applicable que si vous n'avez pas de fichier release en place.

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