在 运行 scala 时获取 "cat: /release: No such file or directory"

Getting "cat: /release: No such file or directory" when running scala

我尝试通过 Homebrew 在我的 Mac (El Capitan) 上安装 Scala 2.12.1,并从 https://www.scala-lang.org/download/ 下载二进制文件。

在这两种情况下,每当我 运行 scala(或 scalacscaladoc 等)时,我都会将其打印到屏幕上:

cat: /release: No such file or directory

但是操作成功了。例如。 scala myscript.scala 工作正常,但首先打印出该错误消息。

有人知道为什么会这样吗?

打开bin/scala,有一行:

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

我的 $JAVA_HOME 没有设置。现已全部修复。

我想将此添加为评论,但由于我的新手身份,目前还不能。要专门修复您的 $JAVA_HOME - 如果您使用的是 UNIX,您可以将其复制并粘贴到您的终端:

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

1.8 替换为您当前使用的 Java 的任何版本。

尝试设置您的 JAVA_HOME 环境变量。在我的例子中,JAVA_HOME 已经设置好了。

我得到了具体的错误

cat: /usr/lib/jvm/java-8-openjdk-amd64/release: No such file or directory

我通过在其中创建一个空文件 release 来修复它

sudo touch $JAVA_HOME/release

我的JAVA_HOME长得像

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

这是一个技巧,但对我来说效果很好!

如果您查看此 /release 文件在 运行 scala 时发生的情况,似乎也不难做到这一点; https://github.com/scala/scala/pull/5588/files.

注意:此解决方案仅适用于没有 release 文件的情况。