关于macos:运行scala时获取\\”cat: /release: No such file or directory\\”

 2022-01-07 

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

我尝试通过 Homebrew 以及从 https://www.scala-lang.org/download/.

下载二进制文件在我的 Mac (El Capitan) 上安装 Scala 2.12.1

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

1
cat: /release: No such file or directory

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

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


打开bin/scala,有一行:

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

我的 $JAVA_HOME 没有设置。现在都修复了。


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

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

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


尝试设置您的 JAVA_HOME 环境变量。就我而言, JAVA_HOME 已经设置。

我特别收到错误

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

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

1
sudo touch $JAVA_HOME/release

我的JAVA_HOME看起来像

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

这是一个黑客,但它对我来说很好用!

如果您在运行 scala 时查看此 /release 文件发生的情况,似乎也没有任何困难; https://github.com/scala/scala/pull/5588/files.

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